diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml deleted file mode 100644 index c8f7ebb..0000000 --- a/.github/FUNDING.yml +++ /dev/null @@ -1 +0,0 @@ -ko_fi: softprops \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml new file mode 100644 index 0000000..d8d81bc --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -0,0 +1,97 @@ +name: Bug report +description: Report a bug or regression in action-gh-release +title: "[Bug]: " +labels: + - bug +body: + - type: markdown + attributes: + value: | + Before filing: + - confirm the problem still reproduces on the latest release or `master` + - search existing issues for the same behavior + - if the original repository is private, include a minimal public repro, a sanitized workflow snippet, or exact redacted steps a maintainer can follow + - type: checkboxes + id: checks + attributes: + label: Pre-flight checks + options: + - label: I searched existing issues and did not find a duplicate + required: true + - label: I reproduced this with the latest released version or current `master` + required: true + - label: I included a reproducible example or a sanitized/redacted reproduction path if the original repository is private + required: true + - type: input + id: action_version + attributes: + label: action-gh-release version + description: Tag, SHA, or ref used in your workflow + placeholder: v2.5.2 + validations: + required: true + - type: dropdown + id: runner + attributes: + label: Runner operating system + options: + - ubuntu-latest + - windows-latest + - macos-latest + - other + validations: + required: true + - type: input + id: target_repository + attributes: + label: Release target repository + description: Fill this in if you set the `repository:` input + placeholder: owner/repo + - type: input + id: repro_reference + attributes: + label: Reproduction repo, gist, or artifact + description: Link a minimal repro repository, gist, run URL, or other shareable artifact if you have one + placeholder: https://github.com/owner/repro-repo + - type: textarea + id: workflow + attributes: + label: Workflow snippet + description: Include the relevant `uses:` step and inputs. If the original repo is private, paste a sanitized version here. + render: yaml + - type: textarea + id: expected + attributes: + label: Expected behavior + validations: + required: true + - type: textarea + id: actual + attributes: + label: Actual behavior + validations: + required: true + - type: textarea + id: reproduce + attributes: + label: Steps to reproduce + description: Include tags, matrix/concurrency details, and any repo rules involved. If the original repo is private, describe the smallest setup a maintainer can recreate locally or in a throwaway repo. + placeholder: | + 1. Trigger workflow with ... + 2. Action creates ... + 3. Action fails with ... + validations: + required: true + - type: textarea + id: logs + attributes: + label: Relevant logs + description: Paste the relevant error output or run URL + render: shell + validations: + required: true + - type: textarea + id: additional + attributes: + label: Additional context + description: Any extra environment, token, ruleset, or asset details diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml new file mode 100644 index 0000000..432273d --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -0,0 +1,50 @@ +name: Feature request +description: Propose an enhancement or new capability for action-gh-release +title: "[Feature]: " +labels: + - enhancement +body: + - type: markdown + attributes: + value: | + Use this template for new capabilities, behavior changes, or ergonomics improvements. + If you are reporting something broken, use the bug report template instead. + - type: checkboxes + id: checks + attributes: + label: Pre-flight checks + options: + - label: I searched existing issues and did not find a duplicate request + required: true + - label: This is not a bug report for existing behavior + required: true + - type: textarea + id: problem + attributes: + label: Problem to solve + description: What workflow pain point or gap are you trying to address? + validations: + required: true + - type: textarea + id: proposal + attributes: + label: Proposed solution + description: Describe the behavior, input, or output you want + validations: + required: true + - type: textarea + id: workflow + attributes: + label: Example workflow snippet + description: Show how you would expect to use this + render: yaml + - type: textarea + id: alternatives + attributes: + label: Alternatives considered + description: Workarounds or other approaches you evaluated + - type: textarea + id: impact + attributes: + label: Why this belongs in action-gh-release + description: Explain the user impact or why this should live in the action rather than in workflow glue diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 040f194..e409830 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -4,15 +4,30 @@ updates: directory: "/" schedule: interval: weekly + groups: + npm: + patterns: + - "*" ignore: - dependency-name: node-fetch versions: - ">=3.0.0" + - dependency-name: "@types/node" + versions: + - ">=25.0.0" + cooldown: + default-days: 7 commit-message: prefix: "chore(deps)" - package-ecosystem: github-actions directory: "/" schedule: interval: weekly + groups: + github-actions: + patterns: + - "*" + cooldown: + default-days: 7 commit-message: prefix: "chore(deps)" diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index c3653bf..4a75e71 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -4,13 +4,18 @@ on: push: pull_request: +permissions: + contents: read + issues: write + pull-requests: write + jobs: build: runs-on: ubuntu-24.04 steps: - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v5 - - uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4 + - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 with: node-version-file: ".tool-versions" cache: "npm" @@ -19,14 +24,51 @@ jobs: run: npm ci - name: Build run: npm run build + - name: Check dist freshness + id: dist_freshness + continue-on-error: true + run: | + git diff --exit-code --stat -- dist/index.js \ + || (echo "##[error] found changed dist/index.js after build. please run 'npm run build' and commit the updated bundle" \ + && exit 1) + - name: Comment on stale dist bundle + if: github.event_name == 'pull_request' && steps.dist_freshness.outcome == 'failure' + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GH_REPO: ${{ github.repository }} + PR_NUMBER: ${{ github.event.pull_request.number }} + run: | + marker='' + diff_stat="$(git diff --stat -- dist/index.js)" + body=$(cat <"))) | .id' \ + | tail -n 1 + )" + + if [ -n "$existing_id" ]; then + gh api --method PATCH "repos/$GH_REPO/issues/comments/$existing_id" -f body="$body" >/dev/null + else + gh api --method POST "repos/$GH_REPO/issues/$PR_NUMBER/comments" -f body="$body" >/dev/null + fi + - name: Fail on stale dist bundle + if: steps.dist_freshness.outcome == 'failure' + run: | + echo "##[error] found changed dist/index.js after build. please run 'npm run build' and commit the updated bundle" + exit 1 - name: Test run: npm run test - name: Format run: npm run fmtcheck - # - name: "check for uncommitted changes" - # # Ensure no changes, but ignore node_modules dir since dev/fresh ci deps installed. - # run: | - # git diff --exit-code --stat -- . ':!node_modules' \ - # || (echo "##[error] found changed files after build. please 'npm run build && npm run fmt'" \ - # "and check in all changes" \ - # && exit 1) diff --git a/.gitignore b/.gitignore index 8856f55..6982a78 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ __tests__/runner/* # actions requires a node_modules dir https://github.com/actions/toolkit/blob/master/docs/javascript-action.md#publish-a-releasesv1-action # but its recommended not to check these in https://github.com/actions/toolkit/blob/master/docs/action-versioning.md#recommendations node_modules +coverage diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..ceb484e --- /dev/null +++ b/.prettierignore @@ -0,0 +1,16 @@ +# Build outputs +dist/ +lib/ +coverage/ + +# Dependencies +node_modules/ + +# Misc +.github/ +*.log +.DS_Store +__tests__/release.txt + +# Package files +package-lock.json diff --git a/.prettierrc.js b/.prettierrc.js new file mode 100644 index 0000000..d27b0d2 --- /dev/null +++ b/.prettierrc.js @@ -0,0 +1,11 @@ +/** + * @type {import('prettier').Config} + */ +module.exports = { + trailingComma: 'all', + tabWidth: 2, + semi: true, + singleQuote: true, + printWidth: 100, + bracketSpacing: true, +}; diff --git a/.tool-versions b/.tool-versions index 72c81fc..78dcfe6 100644 --- a/.tool-versions +++ b/.tool-versions @@ -1 +1 @@ -nodejs 20.15.1 +nodejs 24.14.1 diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..58bbfd0 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,80 @@ +# action-gh-release + +This repository is maintained as a small, user-facing GitHub Action with a relatively wide compatibility surface. +Optimize for stability, reproducibility, and clear user value over broad rewrites. + +## Core Rules + +- Prefer narrow behavior fixes over structural churn. +- Reproduce current behavior on `master` before changing code. +- Treat GitHub platform behavior as distinct from action behavior. + If GitHub controls the outcome, prefer docs or clearer errors over brittle workarounds. +- Do not revive stale PRs mechanically. + Reuse the idea if it still has value, but reimplement on top of current `master`. +- Avoid standalone refactors with no clear user-facing benefit. + +## Current Architecture + +- `src/main.ts` is the orchestration layer: parse config, validate inputs, create/update release, upload assets, finalize, set outputs. +- `src/github.ts` owns release semantics: lookup, create/update/finalize, asset upload, race handling, and GitHub API interaction. +- `src/util.ts` owns parsing and path normalization. +- Keep behavior-specific logic in `src/github.ts` or `src/util.ts`; avoid growing `src/main.ts` with ad-hoc feature branches. + +## Bug-Fix Workflow + +- Reproduce the issue against current `master` first. +- When available, use the companion consumer harness repo `action-gh-release-test`. +- Capture exact workflow run URLs and release URLs before claiming a fix. +- If the issue is really a docs/usage or platform-limit case, document it and close it as such instead of forcing a code change. +- If a historical issue no longer reproduces on current `master`, prefer a short closeout note that asks the reporter to open a fresh issue if they still see it. + +## Feature Triage + +- Ship features only when there is clear user value or repeated demand. +- Small convenience features are fine, but they should stay small. +- Weak-demand features should not expand parsing complexity, cross-platform ambiguity, or maintenance surface. +- For old feature PRs: + - check whether current `master` already covers the behavior + - prefer a tiny docs clarification if the behavior exists but is poorly explained + - close stale feature PRs when the idea is obsolete, low-value, or badly shaped for the current codebase + +## Contract Sync + +When behavior changes, keep the external contract in sync: + +- update `README.md` +- update `action.yml` +- update tests under `__tests__/` +- regenerate `dist/index.js` with `npm run build` + +Docs-only changes do not need `dist/index.js` regeneration. + +## Verification + +For code changes, run: + +- `npm run fmtcheck` +- `npm run typecheck` +- `npm run build` +- `npm test` + +For behavior changes, also run the relevant external regression workflow(s) in `action-gh-release-test` against the exact ref under test. + +## Release and Triage Conventions + +- Keep PR labels accurate. Release notes depend on them. + - bug fixes: `bug` + - docs-only changes: `documentation` + - additive features: `feature` or `enhancement` + - dependency updates: `dependencies` +- Follow [RELEASE.md](RELEASE.md) for version bumps, changelog updates, tagging, and release publication. +- Prefer manual issue/PR closeouts with a short rationale over implicit assumptions. +- Do not auto-close old PRs or issues through unrelated docs PRs. + +## Implementation Preferences + +- Preserve the current upload/finalize flow unless there is strong evidence it needs to change. +- Prefer upload-time semantics over filesystem mutation. +- Be careful with parsing changes around `files`, path handling, and Windows compatibility. +- Be careful with race-condition fixes; verify both local tests and consumer-repo concurrency harnesses. +- Do not assume a refactor is safe just because tests are green. This action’s behavior is heavily shaped by GitHub API edge cases. diff --git a/CHANGELOG.md b/CHANGELOG.md index 805aaf2..f59d78c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,241 @@ +## 3.0.0 + +`3.0.0` is a major release that moves the action runtime from Node 20 to Node 24. +Use `v3` on GitHub-hosted runners and self-hosted fleets that already support the +Node 24 Actions runtime. If you still need the last Node 20-compatible line, stay on +`v2.6.2`. + +## What's Changed + +### Other Changes 🔄 + +* Move the action runtime and bundle target to Node 24 +* Update `@types/node` to the Node 24 line and allow future Dependabot updates +* Keep the floating major tag on `v3`; `v2` remains pinned to the latest `2.x` release + +## 2.6.2 + +## What's Changed + +### Other Changes 🔄 + +* chore(deps): bump picomatch from 4.0.3 to 4.0.4 by @dependabot[bot] in https://github.com/softprops/action-gh-release/pull/775 +* chore(deps): bump brace-expansion from 5.0.4 to 5.0.5 by @dependabot[bot] in https://github.com/softprops/action-gh-release/pull/777 +* chore(deps): bump vite from 8.0.0 to 8.0.5 by @dependabot[bot] in https://github.com/softprops/action-gh-release/pull/781 + +## 2.6.1 + +`2.6.1` is a patch release focused on restoring linked discussion thread creation when +`discussion_category_name` is set. It fixes `#764`, where the draft-first publish flow +stopped carrying the discussion category through the final publish step. + +If you still hit an issue after upgrading, please open a report with the bug template and include a minimal repro or sanitized workflow snippet where possible. + +## What's Changed + +### Bug fixes 🐛 + +* fix: preserve discussion category on publish by @chenrui333 in https://github.com/softprops/action-gh-release/pull/765 + +## 2.6.0 + +`2.6.0` is a minor release centered on `previous_tag` support for `generate_release_notes`, +which lets workflows pin GitHub's comparison base explicitly instead of relying on the default range. +It also includes the recent concurrent asset upload recovery fix, a `working_directory` docs sync, +a checked-bundle freshness guard for maintainers, and clearer immutable-prerelease guidance where +GitHub platform behavior imposes constraints on how prerelease asset uploads can be published. + +If you still hit an issue after upgrading, please open a report with the bug template and include a minimal repro or sanitized workflow snippet where possible. + +## What's Changed + +### Exciting New Features 🎉 + +* feat: support previous_tag for generate_release_notes by @pocesar in https://github.com/softprops/action-gh-release/pull/372 + +### Bug fixes 🐛 + +* fix: recover concurrent asset metadata 404s by @chenrui333 in https://github.com/softprops/action-gh-release/pull/760 + +### Other Changes 🔄 + +* docs: clarify reused draft release behavior by @chenrui333 in https://github.com/softprops/action-gh-release/pull/759 +* docs: clarify working_directory input by @chenrui333 in https://github.com/softprops/action-gh-release/pull/761 +* ci: verify dist bundle freshness by @chenrui333 in https://github.com/softprops/action-gh-release/pull/762 +* fix: clarify immutable prerelease uploads by @chenrui333 in https://github.com/softprops/action-gh-release/pull/763 + +## 2.5.3 + +`2.5.3` is a patch release focused on the remaining path-handling and release-selection bugs uncovered after `2.5.2`. +It fixes `#639`, `#571`, `#280`, `#614`, `#311`, `#403`, and `#368`. +It also adds documentation clarifications for `#541`, `#645`, `#542`, `#393`, and `#411`, +where the current behavior is either usage-sensitive or constrained by GitHub platform limits rather than an action-side runtime bug. + +If you still hit an issue after upgrading, please open a report with the bug template and include a minimal repro or sanitized workflow snippet where possible. + +## What's Changed + +### Bug fixes 🐛 + +* fix: prefer token input over GITHUB_TOKEN by @chenrui333 in https://github.com/softprops/action-gh-release/pull/751 +* fix: clean up duplicate drafts after canonicalization by @chenrui333 in https://github.com/softprops/action-gh-release/pull/753 +* fix: support Windows-style file globs by @chenrui333 in https://github.com/softprops/action-gh-release/pull/754 +* fix: normalize refs-tag inputs by @chenrui333 in https://github.com/softprops/action-gh-release/pull/755 +* fix: expand tilde file paths by @chenrui333 in https://github.com/softprops/action-gh-release/pull/756 + +### Other Changes 🔄 + +* docs: clarify token precedence by @chenrui333 in https://github.com/softprops/action-gh-release/pull/752 +* docs: clarify GitHub release limits by @chenrui333 in https://github.com/softprops/action-gh-release/pull/758 +* documentation clarifications for empty-token handling, `preserve_order`, and special-character asset filename behavior + +## 2.5.2 + +`2.5.2` is a patch release focused on the remaining release-creation and prerelease regressions in the `2.5.x` bug-fix cycle. +It fixes `#705`, fixes `#708`, fixes `#740`, fixes `#741`, and fixes `#722`. +Regression testing covers the shared-tag race, prerelease event behavior, dotfile asset labels, +same-filename concurrent uploads, and blocked-tag cleanup behavior. + +If you still hit an issue after upgrading, please open a report with the bug template and include a minimal repro or sanitized workflow snippet where possible. + +## What's Changed + +### Bug fixes 🐛 + +* fix: canonicalize releases after concurrent create by @chenrui333 in https://github.com/softprops/action-gh-release/pull/746 +* fix: preserve prereleased events for prereleases by @chenrui333 in https://github.com/softprops/action-gh-release/pull/748 +* fix: restore dotfile asset labels by @chenrui333 in https://github.com/softprops/action-gh-release/pull/749 +* fix: handle upload already_exists races across workflows by @api2062 in https://github.com/softprops/action-gh-release/pull/745 +* fix: clean up orphan drafts when tag creation is blocked by @chenrui333 in https://github.com/softprops/action-gh-release/pull/750 + +## 2.5.1 + +`2.5.1` is a patch release focused on regressions introduced in `2.5.0` and on release lookup reliability. +It fixes `#713`, addresses `#703`, and fixes `#724`. Regression testing shows that +current `master` no longer reproduces the finalize-race behavior reported in `#704` and `#709`. + +## What's Changed + +### Bug fixes 🐛 + +* fix: fetch correct asset URL after finalization; test; some refactoring by @pzhlkj6612 in https://github.com/softprops/action-gh-release/pull/738 +* fix: release marked as 'latest' despite make_latest: false by @Boshen in https://github.com/softprops/action-gh-release/pull/715 +* fix: use getReleaseByTag API instead of iterating all releases by @kim-em in https://github.com/softprops/action-gh-release/pull/725 + +### Other Changes 🔄 + +* dependency updates, including the ESM/runtime compatibility refresh in https://github.com/softprops/action-gh-release/pull/731 + +## 2.5.0 + +## What's Changed + +### Exciting New Features 🎉 + +* feat: mark release as draft until all artifacts are uploaded by @dumbmoron in https://github.com/softprops/action-gh-release/pull/692 + +### Other Changes 🔄 + +* dependency updates + +## 2.4.2 + +## What's Changed + +### Exciting New Features 🎉 + +* feat: Ensure generated release notes cannot be over 125000 characters by @BeryJu in https://github.com/softprops/action-gh-release/pull/684 + +### Other Changes 🔄 + +* dependency updates + +## 2.4.1 + +## What's Changed + +### Other Changes 🔄 + +* fix(util): support brace expansion globs containing commas in parseInputFiles by @Copilot in https://github.com/softprops/action-gh-release/pull/672 +* fix: gracefully fallback to body when body_path cannot be read by @Copilot in https://github.com/softprops/action-gh-release/pull/671 + +## 2.4.0 + +## What's Changed + +### Exciting New Features 🎉 + +* feat(action): respect working_directory for files globs by @stephenway in https://github.com/softprops/action-gh-release/pull/667 + +## 2.3.4 + +## What's Changed + +### Bug fixes 🐛 + +* fix(action): handle 422 already_exists race condition by @stephenway in https://github.com/softprops/action-gh-release/pull/665 + +### Other Changes 🔄 + +- dependency updates + +## 2.3.3 + +## What's Changed + +### Exciting New Features 🎉 + +* feat: add input option `overwrite_files` by @asfernandes in https://github.com/softprops/action-gh-release/pull/343 + +### Other Changes 🔄 + +- dependency updates + +## 2.3.2 + +* fix: revert fs `readableWebStream` change + +## 2.3.1 + +### Bug fixes 🐛 + +* fix: fix file closing issue by @WailGree in https://github.com/softprops/action-gh-release/pull/629 + +## 2.3.0 + +* Migrate from jest to vitest +* Replace `mime` with `mime-types` +* Bump to use node 24 +* Dependency updates + +## 2.2.2 + +## What's Changed + +### Bug fixes 🐛 + +* fix: updating release draft status from true to false by @galargh in https://github.com/softprops/action-gh-release/pull/316 + +### Other Changes 🔄 + +* chore: simplify ref_type test by @steinybot in https://github.com/softprops/action-gh-release/pull/598 +* fix(docs): clarify the default for tag_name by @muzimuzhi in https://github.com/softprops/action-gh-release/pull/599 +* test(release): add unit tests when searching for a release by @rwaskiewicz in https://github.com/softprops/action-gh-release/pull/603 +* dependency updates + +## 2.2.1 + +## What's Changed + +### Bug fixes 🐛 + +* fix: big file uploads by @xen0n in https://github.com/softprops/action-gh-release/pull/562 + +### Other Changes 🔄 +* chore(deps): bump @types/node from 22.10.1 to 22.10.2 by @dependabot in https://github.com/softprops/action-gh-release/pull/559 +* chore(deps): bump @types/node from 22.10.2 to 22.10.5 by @dependabot in https://github.com/softprops/action-gh-release/pull/569 +* chore: update error and warning messages for not matching files in files field by @ytimocin in https://github.com/softprops/action-gh-release/pull/568 + ## 2.2.0 ## What's Changed @@ -91,7 +329,7 @@ ## 2.0.0 -- `2.0.0`!? this release corrects a disjunction between git tag versions used in the marketplace and versions list this file. Previous versions should have really been 1.\*. Going forward this should be better aligned. +- `2.0.0`!? this release corrects a disjunction between git tag versions used in the marketplace and the versions listed in this file. Previous versions should have really been 1.\*. Going forward this should be better aligned. - Upgrade action.yml declaration to node20 to address deprecations ## 0.1.15 @@ -102,7 +340,7 @@ ## 0.1.14 -- provides an new workflow input option `generate_release_notes` which when set to true will automatically generate release notes for you based on GitHub activity [#179](https://github.com/softprops/action-gh-release/pull/179). Please see the [GitHub docs for this feature](https://docs.github.com/en/repositories/releasing-projects-on-github/automatically-generated-release-notes) for more information +- provides a new workflow input option `generate_release_notes` which when set to true will automatically generate release notes for you based on GitHub activity [#179](https://github.com/softprops/action-gh-release/pull/179). Please see the [GitHub docs for this feature](https://docs.github.com/en/repositories/releasing-projects-on-github/automatically-generated-release-notes) for more information ## 0.1.13 @@ -110,7 +348,7 @@ ## 0.1.12 -- fix bug leading to empty strings subsituted for inputs users don't provide breaking api calls [#144](https://github.com/softprops/action-gh-release/pull/144) +- fix bug leading to empty strings substituted for inputs users don't provide breaking api calls [#144](https://github.com/softprops/action-gh-release/pull/144) ## 0.1.11 @@ -127,7 +365,7 @@ ## 0.1.8 - address recent warnings in assert upload api as well as introduce asset upload overrides, allowing for multiple runs for the same release with the same named asserts [#134](https://github.com/softprops/action-gh-release/pull/134) -- fix backwards compatibility with `GITHUB_TOKEN` resolution. `GITHUB_TOKEN` is no resolved first from an env varibale and then from and input [#133](https://github.com/softprops/action-gh-release/pull/133) +- fix backwards compatibility with `GITHUB_TOKEN` resolution. `GITHUB_TOKEN` is now resolved first from an env variable and then from an input [#133](https://github.com/softprops/action-gh-release/pull/133) - trim white space in provided `tag_name` [#130](https://github.com/softprops/action-gh-release/pull/130) ## 0.1.7 @@ -140,14 +378,14 @@ This is a release catch up have a hiatus. Future releases will happen more frequently -- Add 'fail_on_unmatched_files' input, useful for catching cases were your `files` input does not actually match what you expect [#55](https://github.com/softprops/action-gh-release/pull/55) +- Add 'fail_on_unmatched_files' input, useful for catching cases where your `files` input does not actually match what you expect [#55](https://github.com/softprops/action-gh-release/pull/55) - Add `repository` input, useful for creating a release in an external repository [#61](https://github.com/softprops/action-gh-release/pull/61) -- Add release `id` to outputs, useful for refering to release in workflow steps following the step that uses this action [#60](https://github.com/softprops/action-gh-release/pull/60) +- Add release `id` to outputs, useful for referring to release in workflow steps following the step that uses this action [#60](https://github.com/softprops/action-gh-release/pull/60) - Add `upload_url` as action output, useful for managing uploads separately [#75](https://github.com/softprops/action-gh-release/pull/75) - Support custom `target_commitish` value, useful to customize the default [#76](https://github.com/softprops/action-gh-release/pull/76) -- fix `body_path` input first then fall back on `body` input. this was the originally documented precedence but was implemened the the opposite order! [#85](https://github.com/softprops/action-gh-release/pull/85) +- fix `body_path` input first then fall back on `body` input. This was the originally documented precedence but was implemented in the opposite order! [#85](https://github.com/softprops/action-gh-release/pull/85) - Retain original release info if the keys are not set, useful for filling in blanks for a release you've already started separately [#109](https://github.com/softprops/action-gh-release/pull/109) -- Limit number of times github api request to create a release is retried, useful for avoiding eating up your rate limit and action minutes do to either an invalid token or other circumstance causing the api call to fail [#111](https://github.com/softprops/action-gh-release/pull/111) +- Limit number of times github api request to create a release is retried, useful for avoiding eating up your rate limit and action minutes due to either an invalid token or other circumstance causing the api call to fail [#111](https://github.com/softprops/action-gh-release/pull/111) ## 0.1.5 @@ -157,7 +395,7 @@ This is a release catch up have a hiatus. Future releases will happen more frequ - Added support for updating releases body [#36](https://github.com/softprops/action-gh-release/pull/36) - Steps can now access the url of releases with the `url` output of this Action [#28](https://github.com/softprops/action-gh-release/pull/28) -- Added basic GitHub API retry support to manage API turbulance [#26](https://github.com/softprops/action-gh-release/pull/26) +- Added basic GitHub API retry support to manage API turbulence [#26](https://github.com/softprops/action-gh-release/pull/26) ## 0.1.3 @@ -172,7 +410,7 @@ This is now fixed. - Add support for newline-delimited asset list [#18](https://github.com/softprops/action-gh-release/pull/18) -GitHub actions inputs don't inherently support lists of things and one might like to append a list of files to include in a release. Previously this was possible using a comma-delimited list of asset path patterns to upload. You can now provide these as a newline delimieted list for better readability +GitHub actions inputs don't inherently support lists of things and one might like to append a list of files to include in a release. Previously this was possible using a comma-delimited list of asset path patterns to upload. You can now provide these as a newline delimited list for better readability ```yaml - name: Release diff --git a/README.md b/README.md index dd542e5..ccd93e2 100644 --- a/README.md +++ b/README.md @@ -39,6 +39,9 @@ Typically usage of this action involves adding a step to a build that is gated pushes to git tags. You may find `step.if` field helpful in accomplishing this as it maximizes the reuse value of your workflow for non-tag pushes. +`v3` requires a GitHub Actions runtime that supports Node 24. If you still need the +last Node 20-compatible line, stay on `v2.6.2`. + Below is a simple example of `step.if` tag gating ```yaml @@ -51,10 +54,10 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Release - uses: softprops/action-gh-release@v2 - if: startsWith(github.ref, 'refs/tags/') + uses: softprops/action-gh-release@v3 + if: github.ref_type == 'tag' ``` You can also use push config tag filter @@ -72,9 +75,9 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Release - uses: softprops/action-gh-release@v2 + uses: softprops/action-gh-release@v3 ``` ### ⬆️ Uploading release assets @@ -99,14 +102,14 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Build run: echo ${{ github.sha }} > Release.txt - name: Test run: cat Release.txt - name: Release - uses: softprops/action-gh-release@v2 - if: startsWith(github.ref, 'refs/tags/') + uses: softprops/action-gh-release@v3 + if: github.ref_type == 'tag' with: files: Release.txt ``` @@ -123,14 +126,14 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Build run: echo ${{ github.sha }} > Release.txt - name: Test run: cat Release.txt - name: Release - uses: softprops/action-gh-release@v2 - if: startsWith(github.ref, 'refs/tags/') + uses: softprops/action-gh-release@v3 + if: github.ref_type == 'tag' with: files: | Release.txt @@ -139,7 +142,21 @@ jobs: > **⚠️ Note:** Notice the `|` in the yaml syntax above ☝️. That lets you effectively declare a multi-line yaml string. You can learn more about multi-line yaml syntax [here](https://yaml-multiline.info) -> **⚠️ Note for Windows:** Paths must use `/` as a separator, not `\`, as `\` is used to escape characters with special meaning in the pattern; for example, instead of specifying `D:\Foo.txt`, you must specify `D:/Foo.txt`. If you're using PowerShell, you can do this with `$Path = $Path -replace '\\','/'` +> **⚠️ Note for Windows:** Both `\` and `/` path separators are accepted in `files` globs. If you need to match a literal glob metacharacter such as `[` or `]`, keep escaping the metacharacter itself in the pattern. + +If your release assets are generated under a subdirectory, set `working_directory` +and keep the `files` patterns relative to that directory. + +```yaml +- name: Release + uses: softprops/action-gh-release@v3 + if: github.ref_type == 'tag' + with: + working_directory: dist + files: | + Release.txt + checksums/*.txt +``` ### 📝 External release notes @@ -157,20 +174,36 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Generate Changelog run: echo "# Good things have arrived" > ${{ github.workspace }}-CHANGELOG.txt - name: Release - uses: softprops/action-gh-release@v2 - if: startsWith(github.ref, 'refs/tags/') + uses: softprops/action-gh-release@v3 + if: github.ref_type == 'tag' with: body_path: ${{ github.workspace }}-CHANGELOG.txt repository: my_gh_org/my_gh_repo # note you'll typically need to create a personal access token - # with permissions to create releases in the other repo + # with permissions to create releases in the other repo. + # A non-empty explicit token overrides GITHUB_TOKEN. + # Omit the input to use github.token; passing "" treats the token as unset. token: ${{ secrets.CUSTOM_GITHUB_TOKEN }} ``` +When you use GitHub's built-in `generate_release_notes` support, you can optionally +pin the comparison base explicitly with `previous_tag`. This is useful when the default +comparison range does not match the release series you want to publish. + +```yaml +- name: Release + uses: softprops/action-gh-release@v3 + with: + tag_name: stage-2026-03-15 + target_commitish: ${{ github.sha }} + previous_tag: prod-2026-03-01 + generate_release_notes: true +``` + ### 💅 Customizing #### inputs @@ -181,27 +214,48 @@ The following are optional as `step.with` keys | -------------------------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `body` | String | Text communicating notable changes in this release | | `body_path` | String | Path to load text communicating notable changes in this release | -| `draft` | Boolean | Indicator of whether or not this release is a draft | +| `draft` | Boolean | Keep the release as a draft. Defaults to false. When reusing an existing draft release, set this to true to keep it draft; omit it to publish after upload. | | `prerelease` | Boolean | Indicator of whether or not is a prerelease | -| `preserve_order` | Boolean | Indicator of whether order of files should be preserved when uploading assets | -| `files` | String | Newline-delimited globs of paths to assets to upload for release | +| `preserve_order` | Boolean | Upload assets sequentially in the provided order. This controls the action's upload behavior, but it does not control the final asset ordering that GitHub may display on the release page or return from the Releases API. | +| `files` | String | Newline-delimited globs of paths to assets to upload for release. Escape glob metacharacters when you need to match a literal filename that contains them, such as `[` or `]`. `~/...` expands to the runner home directory. On Windows, both `\` and `/` separators are accepted. GitHub may normalize raw asset filenames that contain special characters; the action restores the asset label when possible, but the final download name remains GitHub-controlled. | +| `working_directory` | String | Base directory to resolve `files` globs against. Use this when release assets live under a subdirectory. If omitted, the action resolves `files` from `${{ github.workspace }}`. | +| `overwrite_files` | Boolean | Indicator of whether files should be overwritten when they already exist. Defaults to true | | `name` | String | Name of the release. defaults to tag name | -| `tag_name` | String | Name of a tag. defaults to `github.ref_name` | +| `tag_name` | String | Name of a tag. defaults to `github.ref_name`. `refs/tags/` values are normalized to ``. | | `fail_on_unmatched_files` | Boolean | Indicator of whether to fail if any of the `files` globs match nothing | | `repository` | String | Name of a target repository in `/` format. Defaults to GITHUB_REPOSITORY env variable | -| `target_commitish` | String | Commitish value that determines where the Git tag is created from. Can be any branch or commit SHA. Defaults to repository default branch. | -| `token` | String | Secret GitHub Personal Access Token. Defaults to `${{ github.token }}` | +| `target_commitish` | String | Commitish value that determines where the Git tag is created from. Can be any branch or commit SHA. Defaults to repository default branch. When creating a new tag for an older commit, `github.token` may not have permission to create the ref; use a PAT or another token with sufficient contents permissions if you hit `403 Resource not accessible by integration`. | +| `token` | String | Authorized GitHub token or PAT. Defaults to `${{ github.token }}` when omitted. A non-empty explicit token overrides `GITHUB_TOKEN`. Passing `""` treats the token as explicitly unset, so omit the input entirely or use an expression such as `${{ inputs.token || github.token }}` when wrapping this action in a composite action. | | `discussion_category_name` | String | If specified, a discussion of the specified category is created and linked to the release. The value must be a category that already exists in the repository. For more information, see ["Managing categories for discussions in your repository."](https://docs.github.com/en/discussions/managing-discussions-for-your-community/managing-categories-for-discussions-in-your-repository) | | `generate_release_notes` | Boolean | Whether to automatically generate the name and body for this release. If name is specified, the specified name will be used; otherwise, a name will be automatically generated. If body is specified, the body will be pre-pended to the automatically generated notes. See the [GitHub docs for this feature](https://docs.github.com/en/repositories/releasing-projects-on-github/automatically-generated-release-notes) for more information | +| `previous_tag` | String | Optional. When `generate_release_notes` is enabled, use this tag as GitHub's `previous_tag_name` comparison base. If omitted, GitHub chooses the comparison base automatically. | | `append_body` | Boolean | Append to existing body instead of overwriting it | | `make_latest` | String | Specifies whether this release should be set as the latest release for the repository. Drafts and prereleases cannot be set as latest. Can be `true`, `false`, or `legacy`. Uses GitHub api defaults if not provided | 💡 When providing a `body` and `body_path` at the same time, `body_path` will be attempted first, then falling back on `body` if the path can not be read from. -💡 When the release info keys (such as `name`, `body`, `draft`, `prerelease`, etc.) -are not explicitly set and there is already an existing release for the tag, the -release will retain its original info. +💡 When the release info keys (such as `name`, `body`, `prerelease`, etc.) are not +explicitly set and there is already an existing release for the tag, the release +will retain its original info. + +💡 Draft status is handled separately during finalization. If the action reuses an +existing draft release, set `draft: true` to keep it draft; if `draft` is omitted, +the action will publish that draft after uploading assets. + +💡 GitHub immutable releases lock assets after publication. Standard releases in this +action already upload assets before publishing, but prereleases stay published by +default so `release.prereleased` workflows keep firing. On an immutable-release +repository, use `draft: true` for prereleases that upload assets, then publish that +draft later and subscribe downstream workflows to `release.published`. + +💡 `files` is glob-based, so literal filenames that contain glob metacharacters such as +`[` or `]` must be escaped in the pattern. + +💡 GitHub may normalize or rewrite uploaded asset filenames that contain special or +non-ASCII characters. This action uploads the requested file, but it cannot force the +final asset name that GitHub stores or returns from the Releases API. In particular, +4-byte Unicode characters such as emoji cannot currently be restored via asset labels. #### outputs @@ -212,7 +266,7 @@ The following outputs can be accessed via `${{ steps..outputs }}` from | `url` | String | Github.com URL for the release | | `id` | String | Release ID | | `upload_url` | String | URL for uploading assets to the release | -| `assets` | String | JSON array containing information about each uploaded asset, in the format given [here](https://docs.github.com/en/rest/releases/assets#get-a-release-asset) (minus the `uploader` field) | +| `assets` | String | JSON array containing information about each updated (newly uploaded or overwritten) asset, in the format given [here](https://docs.github.com/en/rest/releases/assets#get-a-release-asset) (minus the `uploader` field) | As an example, you can use `${{ fromJSON(steps..outputs.assets)[0].browser_download_url }}` to get the download URL of the first asset. diff --git a/RELEASE.md b/RELEASE.md new file mode 100644 index 0000000..f96b447 --- /dev/null +++ b/RELEASE.md @@ -0,0 +1,43 @@ +# Release Workflow + +Use this checklist when cutting a new `action-gh-release` release. + +## Inputs + +- Decide the semantic version bump first: `major`, `minor`, or `patch`. +- Review recent merged PRs and labels before drafting the changelog entry. +- Make sure `master` is current and the worktree is clean before starting. + +## Checklist + +1. Update [package.json](package.json) to the new version. +2. Add the new entry at the top of [CHANGELOG.md](CHANGELOG.md). + - Summarize the release in 1 short paragraph. + - If the summary mentions issues, use plain `#123` references or full issue links; do not wrap issue numbers like `#123` in backticks. + - Prefer user-facing fixes and features over internal churn. + - Keep the merged PR list aligned with `.github/release.yml` categories. +3. Run `npm i` to refresh [package-lock.json](package-lock.json). +4. Run the full local verification set: + - `npm run fmtcheck` + - `npm run typecheck` + - `npm run build` + - `npm test` +5. Commit the release prep. + - Use a plain release commit message like `release 3.0.0`. +6. Create the annotated tag for the release commit. + - Example: `git tag -a v3.0.0 -m "v3.0.0"` +7. Push the commit and tag. + - Example: `git push origin master && git push origin v3.0.0` +8. Move the floating major tag to the new release tag. + - For the current major line, run `npm run updatetag` to move `v3`. + - Keep `v2` pinned to the latest `2.x` release for consumers that still need the Node 20 runtime. + - Verify the floating tag points at the same commit as the new full tag. +9. Create the GitHub release from the new tag. + - Prefer the release body from [CHANGELOG.md](CHANGELOG.md), then let GitHub append generated notes only if they add value. + - Verify the release shows the expected tag, title, notes, and attached artifacts. + +## Notes + +- Behavior changes should already have matching updates in [README.md](README.md), [action.yml](action.yml), tests, and `dist/index.js` before release prep begins. +- Docs-only releases still need an intentional changelog entry and version bump decision. +- If a release is mainly bug fixes, keep the title and summary patch-oriented; do not bury the actual fixes under dependency noise. diff --git a/__tests__/github.test.ts b/__tests__/github.test.ts index 62ca419..877772d 100644 --- a/__tests__/github.test.ts +++ b/__tests__/github.test.ts @@ -1,24 +1,1494 @@ -import * as assert from "assert"; -import { text } from "stream/consumers"; -import { mimeOrDefault, asset } from "../src/github"; +import { + asset, + findTagFromReleases, + finalizeRelease, + GitHubReleaser, + mimeOrDefault, + release, + Release, + Releaser, + upload, +} from '../src/github'; -describe("github", () => { - describe("mimeOrDefault", () => { - it("returns a specific mime for common path", async () => { - assert.equal(mimeOrDefault("foo.tar.gz"), "application/gzip"); +import { mkdtempSync, rmSync, writeFileSync } from 'fs'; +import { tmpdir } from 'os'; +import { join } from 'path'; +import { assert, describe, expect, it, vi } from 'vitest'; + +describe('github', () => { + const config = { + github_token: 'test-token', + github_ref: 'refs/tags/v1.0.0', + github_repository: 'owner/repo', + input_tag_name: undefined, + input_name: undefined, + input_body: undefined, + input_body_path: undefined, + input_files: [], + input_draft: undefined, + input_prerelease: undefined, + input_preserve_order: undefined, + input_overwrite_files: undefined, + input_fail_on_unmatched_files: false, + input_target_commitish: undefined, + input_discussion_category_name: undefined, + input_generate_release_notes: false, + input_previous_tag: undefined, + input_append_body: false, + input_make_latest: undefined, + }; + + describe('mimeOrDefault', () => { + it('returns a specific mime for common path', async () => { + assert.equal(mimeOrDefault('foo.tar.gz'), 'application/gzip'); }); - it("returns default mime for uncommon path", async () => { - assert.equal(mimeOrDefault("foo.uncommon"), "application/octet-stream"); + it('returns default mime for uncommon path', async () => { + assert.equal(mimeOrDefault('foo.uncommon'), 'application/octet-stream'); }); }); - describe("asset", () => { - it("derives asset info from a path", async () => { - const { name, mime, size, data } = asset("tests/data/foo/bar.txt"); - assert.equal(name, "bar.txt"); - assert.equal(mime, "text/plain"); + describe('asset', () => { + it('derives asset info from a path', async () => { + const { name, mime, size } = asset('tests/data/foo/bar.txt'); + assert.equal(name, 'bar.txt'); + assert.equal(mime, 'text/plain'); assert.equal(size, 10); - assert.equal(await text(data), "release me"); + }); + }); + + describe('findTagFromReleases', () => { + const owner = 'owner'; + const repo = 'repo'; + + const mockRelease: Release = { + id: 1, + upload_url: `https://api.github.com/repos/${owner}/${repo}/releases/1/assets`, + html_url: `https://github.com/${owner}/${repo}/releases/tag/v1.0.0`, + tag_name: 'v1.0.0', + name: 'Test Release', + body: 'Test body', + target_commitish: 'main', + draft: false, + prerelease: false, + assets: [], + } as const; + + const mockReleaser: Releaser = { + getReleaseByTag: () => Promise.reject({ status: 404 }), + createRelease: () => Promise.reject('Not implemented'), + updateRelease: () => Promise.reject('Not implemented'), + finalizeRelease: () => Promise.reject('Not implemented'), + allReleases: async function* () { + yield { data: [mockRelease] }; + }, + listReleaseAssets: () => Promise.reject('Not implemented'), + deleteReleaseAsset: () => Promise.reject('Not implemented'), + deleteRelease: () => Promise.reject('Not implemented'), + updateReleaseAsset: () => Promise.reject('Not implemented'), + uploadReleaseAsset: () => Promise.reject('Not implemented'), + } as const; + + it('finds a release by tag using direct API lookup', async () => { + const targetTag = 'v1.0.0'; + const targetRelease = { + ...mockRelease, + tag_name: targetTag, + }; + + const releaser = { + ...mockReleaser, + getReleaseByTag: () => Promise.resolve({ data: targetRelease }), + }; + + const result = await findTagFromReleases(releaser, owner, repo, targetTag); + + assert.deepStrictEqual(result, targetRelease); + }); + + it('returns undefined when release is not found (404)', async () => { + const releaser = { + ...mockReleaser, + getReleaseByTag: () => Promise.reject({ status: 404 }), + }; + + const result = await findTagFromReleases(releaser, owner, repo, 'nonexistent'); + + assert.strictEqual(result, undefined); + }); + + it('re-throws non-404 errors', async () => { + const releaser = { + ...mockReleaser, + getReleaseByTag: () => Promise.reject({ status: 500, message: 'Server error' }), + }; + + try { + await findTagFromReleases(releaser, owner, repo, 'v1.0.0'); + assert.fail('Expected an error to be thrown'); + } catch (error) { + assert.strictEqual(error.status, 500); + } + }); + + it('finds a release with empty tag name', async () => { + const emptyTag = ''; + const targetRelease = { + ...mockRelease, + tag_name: emptyTag, + }; + + const releaser = { + ...mockReleaser, + getReleaseByTag: () => Promise.resolve({ data: targetRelease }), + }; + + const result = await findTagFromReleases(releaser, owner, repo, emptyTag); + + assert.deepStrictEqual(result, targetRelease); + }); + }); + + describe('GitHubReleaser', () => { + it('passes previous_tag_name to generateReleaseNotes and strips it from createRelease', async () => { + const generateReleaseNotes = vi.fn(async () => ({ + data: { + name: 'Generated release', + body: "## What's Changed\n* Added support for previous_tag", + }, + })); + const createRelease = vi.fn(async (params) => ({ + data: { + id: 1, + upload_url: 'test', + html_url: 'test', + tag_name: params.tag_name, + name: params.name, + body: params.body, + target_commitish: params.target_commitish || 'main', + draft: params.draft ?? false, + prerelease: params.prerelease ?? false, + assets: [], + }, + })); + + const releaser = new GitHubReleaser({ + rest: { + repos: { + generateReleaseNotes, + createRelease, + updateRelease: vi.fn(), + getReleaseByTag: vi.fn(), + listReleaseAssets: vi.fn(), + deleteReleaseAsset: vi.fn(), + deleteRelease: vi.fn(), + updateReleaseAsset: vi.fn(), + listReleases: { + endpoint: { + merge: vi.fn(), + }, + }, + }, + }, + paginate: { + iterator: vi.fn(), + }, + request: vi.fn(), + } as any); + + await releaser.createRelease({ + owner: 'owner', + repo: 'repo', + tag_name: 'v1.0.0', + name: 'v1.0.0', + body: 'Intro', + draft: false, + prerelease: false, + target_commitish: 'abc123', + discussion_category_name: undefined, + generate_release_notes: true, + make_latest: undefined, + previous_tag_name: 'v0.9.0', + }); + + expect(generateReleaseNotes).toHaveBeenCalledWith({ + owner: 'owner', + repo: 'repo', + tag_name: 'v1.0.0', + target_commitish: 'abc123', + previous_tag_name: 'v0.9.0', + }); + expect(createRelease).toHaveBeenCalledWith( + expect.objectContaining({ + tag_name: 'v1.0.0', + body: "Intro\n\n## What's Changed\n* Added support for previous_tag", + generate_release_notes: false, + }), + ); + expect(createRelease.mock.calls[0][0]).not.toHaveProperty('previous_tag_name'); + }); + + it('passes discussion_category_name when finalizing a release', async () => { + const updateRelease = vi.fn(async () => ({ + data: { + id: 1, + upload_url: 'test', + html_url: 'test', + tag_name: 'v1.0.0', + name: 'v1.0.0', + body: 'test', + target_commitish: 'main', + draft: false, + prerelease: false, + assets: [], + }, + })); + + const releaser = new GitHubReleaser({ + rest: { + repos: { + generateReleaseNotes: vi.fn(), + createRelease: vi.fn(), + updateRelease, + getReleaseByTag: vi.fn(), + listReleaseAssets: vi.fn(), + deleteReleaseAsset: vi.fn(), + deleteRelease: vi.fn(), + updateReleaseAsset: vi.fn(), + listReleases: { + endpoint: { + merge: vi.fn(), + }, + }, + }, + }, + paginate: { + iterator: vi.fn(), + }, + request: vi.fn(), + } as any); + + await releaser.finalizeRelease({ + owner: 'owner', + repo: 'repo', + release_id: 1, + make_latest: 'legacy', + discussion_category_name: 'Announcements', + }); + + expect(updateRelease).toHaveBeenCalledWith({ + owner: 'owner', + repo: 'repo', + release_id: 1, + draft: false, + make_latest: 'legacy', + discussion_category_name: 'Announcements', + }); + }); + }); + + describe('finalizeRelease input_draft behavior', () => { + const draftRelease: Release = { + id: 1, + upload_url: 'test', + html_url: 'test', + tag_name: 'v1.0.0', + name: 'test', + body: 'test', + target_commitish: 'main', + draft: true, + prerelease: false, + assets: [], + }; + + const finalizedRelease: Release = { + ...draftRelease, + draft: false, + }; + const publishedPrerelease: Release = { + ...draftRelease, + draft: false, + prerelease: true, + }; + + it.each([ + { + name: 'returns early when input_draft is true', + input_draft: true, + release: draftRelease, + expectedCalls: 0, + expectedResult: draftRelease, + }, + { + name: 'finalizes release when input_draft is false', + input_draft: false, + release: draftRelease, + expectedCalls: 1, + expectedResult: finalizedRelease, + }, + { + name: 'returns early when release is already published', + input_draft: false, + release: publishedPrerelease, + expectedCalls: 0, + expectedResult: publishedPrerelease, + }, + ])('$name', async ({ input_draft, release, expectedCalls, expectedResult }) => { + const finalizeReleaseSpy = vi.fn(async () => ({ data: finalizedRelease })); + + const releaser: Releaser = { + getReleaseByTag: () => Promise.reject('Not implemented'), + createRelease: () => Promise.reject('Not implemented'), + updateRelease: () => Promise.reject('Not implemented'), + finalizeRelease: finalizeReleaseSpy, + allReleases: async function* () { + throw new Error('Not implemented'); + }, + listReleaseAssets: () => Promise.reject('Not implemented'), + deleteReleaseAsset: () => Promise.reject('Not implemented'), + deleteRelease: () => Promise.reject('Not implemented'), + updateReleaseAsset: () => Promise.reject('Not implemented'), + uploadReleaseAsset: () => Promise.reject('Not implemented'), + }; + + const result = await finalizeRelease( + { + ...config, + input_draft, + }, + releaser, + release, + ); + + expect(finalizeReleaseSpy).toHaveBeenCalledTimes(expectedCalls); + assert.strictEqual(result, expectedResult); + + if (expectedCalls === 1) { + expect(finalizeReleaseSpy).toHaveBeenCalledWith({ + owner: 'owner', + repo: 'repo', + release_id: release.id, + make_latest: undefined, + discussion_category_name: undefined, + }); + } + }); + + it('passes discussion_category_name through when finalizing a draft release', async () => { + const finalizeReleaseSpy = vi.fn(async () => ({ data: finalizedRelease })); + + const releaser: Releaser = { + getReleaseByTag: () => Promise.reject('Not implemented'), + createRelease: () => Promise.reject('Not implemented'), + updateRelease: () => Promise.reject('Not implemented'), + finalizeRelease: finalizeReleaseSpy, + allReleases: async function* () { + throw new Error('Not implemented'); + }, + listReleaseAssets: () => Promise.reject('Not implemented'), + deleteReleaseAsset: () => Promise.reject('Not implemented'), + deleteRelease: () => Promise.reject('Not implemented'), + updateReleaseAsset: () => Promise.reject('Not implemented'), + uploadReleaseAsset: () => Promise.reject('Not implemented'), + }; + + await finalizeRelease( + { + ...config, + input_draft: false, + input_discussion_category_name: 'Announcements', + }, + releaser, + draftRelease, + ); + + expect(finalizeReleaseSpy).toHaveBeenCalledWith({ + owner: 'owner', + repo: 'repo', + release_id: draftRelease.id, + make_latest: undefined, + discussion_category_name: 'Announcements', + }); + }); + + it('deletes a newly created draft when tag creation is blocked by repository rules', async () => { + const finalizeReleaseSpy = vi.fn(async () => { + throw { + status: 422, + response: { + data: { + errors: [ + { + field: 'pre_receive', + message: + 'pre_receive Repository rule violations found\n\nCannot create ref due to creations being restricted.\n\n', + }, + ], + }, + }, + }; + }); + const deleteReleaseSpy = vi.fn(async () => undefined); + + const releaser: Releaser = { + getReleaseByTag: () => Promise.reject('Not implemented'), + createRelease: () => Promise.reject('Not implemented'), + updateRelease: () => Promise.reject('Not implemented'), + finalizeRelease: finalizeReleaseSpy, + allReleases: async function* () { + throw new Error('Not implemented'); + }, + listReleaseAssets: () => Promise.reject('Not implemented'), + deleteReleaseAsset: () => Promise.reject('Not implemented'), + deleteRelease: deleteReleaseSpy, + updateReleaseAsset: () => Promise.reject('Not implemented'), + uploadReleaseAsset: () => Promise.reject('Not implemented'), + }; + + await expect( + finalizeRelease( + { + ...config, + input_draft: false, + }, + releaser, + draftRelease, + true, + ), + ).rejects.toThrow( + 'Tag creation for v1.0.0 is blocked by repository rules. Deleted draft release 1 to avoid leaving an orphaned draft release.', + ); + + expect(finalizeReleaseSpy).toHaveBeenCalledTimes(1); + expect(deleteReleaseSpy).toHaveBeenCalledWith({ + owner: 'owner', + repo: 'repo', + release_id: draftRelease.id, + }); + }); + + it('does not delete an existing draft release when tag creation is blocked by repository rules', async () => { + const finalizeReleaseSpy = vi.fn(async () => { + throw { + status: 422, + response: { + data: { + errors: [ + { + field: 'pre_receive', + message: + 'pre_receive Repository rule violations found\n\nCannot create ref due to creations being restricted.\n\n', + }, + ], + }, + }, + }; + }); + const deleteReleaseSpy = vi.fn(async () => undefined); + + const releaser: Releaser = { + getReleaseByTag: () => Promise.reject('Not implemented'), + createRelease: () => Promise.reject('Not implemented'), + updateRelease: () => Promise.reject('Not implemented'), + finalizeRelease: finalizeReleaseSpy, + allReleases: async function* () { + throw new Error('Not implemented'); + }, + listReleaseAssets: () => Promise.reject('Not implemented'), + deleteReleaseAsset: () => Promise.reject('Not implemented'), + deleteRelease: deleteReleaseSpy, + updateReleaseAsset: () => Promise.reject('Not implemented'), + uploadReleaseAsset: () => Promise.reject('Not implemented'), + }; + + await expect( + finalizeRelease( + { + ...config, + input_draft: false, + }, + releaser, + draftRelease, + false, + 1, + ), + ).rejects.toThrow('Too many retries.'); + + expect(finalizeReleaseSpy).toHaveBeenCalledTimes(1); + expect(deleteReleaseSpy).not.toHaveBeenCalled(); + }); + }); + + describe('error handling', () => { + it('passes previous_tag_name through when creating a release with generated notes', async () => { + const createReleaseSpy = vi.fn(async () => ({ + data: { + id: 1, + upload_url: 'test', + html_url: 'test', + tag_name: 'v1.0.0', + name: 'test', + body: 'generated notes', + target_commitish: 'main', + draft: true, + prerelease: false, + assets: [], + }, + })); + + await release( + { + ...config, + input_generate_release_notes: true, + input_previous_tag: 'v0.9.0', + }, + { + getReleaseByTag: () => Promise.reject({ status: 404 }), + createRelease: createReleaseSpy, + updateRelease: () => Promise.reject('Not implemented'), + finalizeRelease: () => Promise.reject('Not implemented'), + allReleases: async function* () { + yield { data: [] }; + }, + listReleaseAssets: () => Promise.reject('Not implemented'), + deleteReleaseAsset: () => Promise.reject('Not implemented'), + deleteRelease: () => Promise.reject('Not implemented'), + updateReleaseAsset: () => Promise.reject('Not implemented'), + uploadReleaseAsset: () => Promise.reject('Not implemented'), + }, + 1, + ); + + expect(createReleaseSpy).toHaveBeenCalledWith( + expect.objectContaining({ + tag_name: 'v1.0.0', + generate_release_notes: true, + previous_tag_name: 'v0.9.0', + }), + ); + }); + + it('passes previous_tag_name through when updating a release with generated notes', async () => { + const existingRelease: Release = { + id: 1, + upload_url: 'test', + html_url: 'test', + tag_name: 'v1.0.0', + name: 'test', + body: 'existing body', + target_commitish: 'main', + draft: false, + prerelease: false, + assets: [], + }; + const updateReleaseSpy = vi.fn(async () => ({ data: existingRelease })); + + await release( + { + ...config, + input_generate_release_notes: true, + input_previous_tag: 'v0.9.0', + }, + { + getReleaseByTag: () => Promise.resolve({ data: existingRelease }), + createRelease: () => Promise.reject('Not implemented'), + updateRelease: updateReleaseSpy, + finalizeRelease: () => Promise.reject('Not implemented'), + allReleases: async function* () { + yield { data: [existingRelease] }; + }, + listReleaseAssets: () => Promise.reject('Not implemented'), + deleteReleaseAsset: () => Promise.reject('Not implemented'), + deleteRelease: () => Promise.reject('Not implemented'), + updateReleaseAsset: () => Promise.reject('Not implemented'), + uploadReleaseAsset: () => Promise.reject('Not implemented'), + }, + 1, + ); + + expect(updateReleaseSpy).toHaveBeenCalledWith( + expect.objectContaining({ + release_id: existingRelease.id, + generate_release_notes: true, + previous_tag_name: 'v0.9.0', + }), + ); + }); + + it('creates published prereleases without the forced draft-first path', async () => { + const prereleaseConfig = { + ...config, + input_prerelease: true, + input_draft: false, + }; + const createdRelease: Release = { + id: 1, + upload_url: 'test', + html_url: 'test', + tag_name: 'v1.0.0', + name: 'test', + body: 'test', + target_commitish: 'main', + draft: false, + prerelease: true, + assets: [], + }; + + const createReleaseSpy = vi.fn(async () => ({ data: createdRelease })); + const mockReleaser: Releaser = { + getReleaseByTag: () => Promise.reject({ status: 404 }), + createRelease: createReleaseSpy, + updateRelease: () => Promise.reject('Not implemented'), + finalizeRelease: () => Promise.reject('Not implemented'), + allReleases: async function* () { + yield { data: [createdRelease] }; + }, + listReleaseAssets: () => Promise.reject('Not implemented'), + deleteReleaseAsset: () => Promise.reject('Not implemented'), + deleteRelease: () => Promise.reject('Not implemented'), + updateReleaseAsset: () => Promise.reject('Not implemented'), + uploadReleaseAsset: () => Promise.reject('Not implemented'), + } as const; + + const result = await release(prereleaseConfig, mockReleaser, 1); + + assert.equal(result.release.id, createdRelease.id); + assert.equal(result.created, true); + expect(createReleaseSpy).toHaveBeenCalledWith( + expect.objectContaining({ + draft: false, + prerelease: true, + }), + ); + }); + + it('retries upload after deleting conflicting asset on 422 already_exists race', async () => { + const uploadReleaseAsset = vi + .fn() + .mockRejectedValueOnce({ + status: 422, + response: { data: { errors: [{ code: 'already_exists' }] } }, + }) + .mockResolvedValueOnce({ + status: 201, + data: { id: 123, name: 'release.txt' }, + }); + + const listReleaseAssets = vi.fn().mockResolvedValue([{ id: 99, name: 'release.txt' }]); + const deleteReleaseAsset = vi.fn().mockResolvedValue(undefined); + + const mockReleaser: Releaser = { + getReleaseByTag: () => Promise.reject('Not implemented'), + createRelease: () => Promise.reject('Not implemented'), + updateRelease: () => Promise.reject('Not implemented'), + finalizeRelease: () => Promise.reject('Not implemented'), + allReleases: async function* () { + throw new Error('Not implemented'); + }, + listReleaseAssets, + deleteReleaseAsset, + uploadReleaseAsset, + }; + + const result = await upload( + config, + mockReleaser, + 'https://uploads.github.com/repos/owner/repo/releases/1/assets', + '__tests__/release.txt', + [], + ); + + expect(result).toStrictEqual({ id: 123, name: 'release.txt' }); + expect(listReleaseAssets).toHaveBeenCalledWith({ + owner: 'owner', + repo: 'repo', + release_id: 1, + }); + expect(deleteReleaseAsset).toHaveBeenCalledWith({ + owner: 'owner', + repo: 'repo', + asset_id: 99, + }); + expect(uploadReleaseAsset).toHaveBeenCalledTimes(2); + }); + + it('surfaces an actionable immutable-release error for prerelease uploads', async () => { + const tempDir = mkdtempSync(join(tmpdir(), 'gh-release-immutable-')); + const assetPath = join(tempDir, 'draft-false.txt'); + writeFileSync(assetPath, 'hello'); + + const uploadReleaseAsset = vi.fn().mockRejectedValue({ + status: 422, + response: { + data: { + message: 'Cannot upload assets to an immutable release.', + }, + }, + }); + + const mockReleaser: Releaser = { + getReleaseByTag: () => Promise.reject('Not implemented'), + createRelease: () => Promise.reject('Not implemented'), + updateRelease: () => Promise.reject('Not implemented'), + finalizeRelease: () => Promise.reject('Not implemented'), + allReleases: async function* () { + throw new Error('Not implemented'); + }, + listReleaseAssets: () => Promise.resolve([]), + deleteReleaseAsset: () => Promise.reject('Not implemented'), + deleteRelease: () => Promise.reject('Not implemented'), + updateReleaseAsset: () => Promise.reject('Not implemented'), + uploadReleaseAsset, + }; + + await expect( + upload( + { + ...config, + input_prerelease: true, + }, + mockReleaser, + 'https://uploads.github.com/repos/owner/repo/releases/1/assets', + assetPath, + [], + ), + ).rejects.toThrow( + 'Cannot upload asset draft-false.txt to an immutable release. GitHub only allows asset uploads before a release is published, but draft prereleases publish with the release.published event instead of release.prereleased.', + ); + + rmSync(tempDir, { recursive: true, force: true }); + }); + + it('retries upload after deleting a conflicting renamed asset matched by label', async () => { + const tempDir = mkdtempSync(join(tmpdir(), 'gh-release-race-dotfile-')); + const dotfilePath = join(tempDir, '.config'); + writeFileSync(dotfilePath, 'config'); + + const uploadReleaseAsset = vi + .fn() + .mockRejectedValueOnce({ + status: 422, + response: { data: { errors: [{ code: 'already_exists' }] } }, + }) + .mockResolvedValueOnce({ + status: 201, + data: { id: 123, name: 'default.config', label: '.config' }, + }); + + const listReleaseAssets = vi + .fn() + .mockResolvedValue([{ id: 99, name: 'default.config', label: '.config' }]); + const deleteReleaseAsset = vi.fn().mockResolvedValue(undefined); + const updateReleaseAsset = vi.fn().mockResolvedValue({ + data: { id: 123, name: 'default.config', label: '.config' }, + }); + + const mockReleaser: Releaser = { + getReleaseByTag: () => Promise.reject('Not implemented'), + createRelease: () => Promise.reject('Not implemented'), + updateRelease: () => Promise.reject('Not implemented'), + finalizeRelease: () => Promise.reject('Not implemented'), + allReleases: async function* () { + throw new Error('Not implemented'); + }, + listReleaseAssets, + deleteReleaseAsset, + deleteRelease: () => Promise.reject('Not implemented'), + updateReleaseAsset, + uploadReleaseAsset, + }; + + try { + const result = await upload( + config, + mockReleaser, + 'https://uploads.github.com/repos/owner/repo/releases/1/assets', + dotfilePath, + [], + ); + + expect(result).toStrictEqual({ id: 123, name: 'default.config', label: '.config' }); + expect(listReleaseAssets).toHaveBeenCalledWith({ + owner: 'owner', + repo: 'repo', + release_id: 1, + }); + expect(deleteReleaseAsset).toHaveBeenCalledWith({ + owner: 'owner', + repo: 'repo', + asset_id: 99, + }); + expect(updateReleaseAsset).toHaveBeenCalledWith({ + owner: 'owner', + repo: 'repo', + asset_id: 123, + name: 'default.config', + label: '.config', + }); + expect(uploadReleaseAsset).toHaveBeenCalledTimes(2); + } finally { + rmSync(tempDir, { recursive: true, force: true }); + } + }); + + it('handles 422 already_exists error gracefully', async () => { + const existingRelease = { + id: 1, + upload_url: 'test', + html_url: 'test', + tag_name: 'v1.0.0', + name: 'test', + body: 'test', + target_commitish: 'main', + draft: false, + prerelease: false, + assets: [], + }; + + let createAttempts = 0; + const mockReleaser: Releaser = { + getReleaseByTag: ({ tag }) => { + // First call returns 404 (release doesn't exist yet), subsequent calls find it + if (createAttempts === 0) { + return Promise.reject({ status: 404 }); + } + return Promise.resolve({ data: existingRelease }); + }, + createRelease: () => { + createAttempts++; + return Promise.reject({ + status: 422, + response: { data: { errors: [{ code: 'already_exists' }] } }, + }); + }, + updateRelease: () => + Promise.resolve({ + data: { + id: 1, + upload_url: 'test', + html_url: 'test', + tag_name: 'v1.0.0', + name: 'test', + body: 'test', + target_commitish: 'main', + draft: true, + prerelease: false, + assets: [], + }, + }), + finalizeRelease: () => Promise.reject('Not implemented'), + allReleases: async function* () { + yield { data: [existingRelease] }; + }, + listReleaseAssets: () => Promise.reject('Not implemented'), + deleteReleaseAsset: () => Promise.reject('Not implemented'), + deleteRelease: () => Promise.reject('Not implemented'), + uploadReleaseAsset: () => Promise.reject('Not implemented'), + } as const; + + const result = await release(config, mockReleaser, 2); + assert.ok(result); + assert.equal(result.release.id, 1); + assert.equal(result.created, false); + }); + + it('normalizes refs/tags-prefixed input_tag_name values before reusing an existing release', async () => { + const existingRelease: Release = { + id: 1, + upload_url: 'test', + html_url: 'test', + tag_name: 'v1.0.0', + name: 'test', + body: 'test', + target_commitish: 'main', + draft: false, + prerelease: false, + assets: [], + }; + + const updateReleaseSpy = vi.fn(async () => ({ data: existingRelease })); + const getReleaseByTagSpy = vi.fn(async () => ({ data: existingRelease })); + const result = await release( + { + ...config, + input_tag_name: 'refs/tags/v1.0.0', + }, + { + getReleaseByTag: getReleaseByTagSpy, + createRelease: () => Promise.reject('Not implemented'), + updateRelease: updateReleaseSpy, + finalizeRelease: () => Promise.reject('Not implemented'), + allReleases: async function* () { + yield { data: [existingRelease] }; + }, + listReleaseAssets: () => Promise.reject('Not implemented'), + deleteReleaseAsset: () => Promise.reject('Not implemented'), + deleteRelease: () => Promise.reject('Not implemented'), + updateReleaseAsset: () => Promise.reject('Not implemented'), + uploadReleaseAsset: () => Promise.reject('Not implemented'), + }, + 1, + ); + + expect(getReleaseByTagSpy).toHaveBeenCalledWith({ + owner: 'owner', + repo: 'repo', + tag: 'v1.0.0', + }); + expect(updateReleaseSpy).toHaveBeenCalledWith( + expect.objectContaining({ + tag_name: 'v1.0.0', + }), + ); + assert.equal(result.release.id, existingRelease.id); + assert.equal(result.created, false); + }); + + it('reuses a canonical release after concurrent create success and removes empty duplicates', async () => { + const canonicalRelease: Release = { + id: 1, + upload_url: 'canonical-upload', + html_url: 'canonical-html', + tag_name: 'v1.0.0', + name: 'canonical', + body: 'test', + target_commitish: 'main', + draft: true, + prerelease: false, + assets: [], + }; + const duplicateRelease: Release = { + id: 2, + upload_url: 'duplicate-upload', + html_url: 'duplicate-html', + tag_name: 'v1.0.0', + name: 'duplicate', + body: 'test', + target_commitish: 'main', + draft: true, + prerelease: false, + assets: [], + }; + + let lookupCount = 0; + const deleteReleaseSpy = vi.fn(async () => undefined); + const mockReleaser: Releaser = { + getReleaseByTag: () => { + lookupCount += 1; + if (lookupCount === 1) { + return Promise.reject({ status: 404 }); + } + return Promise.resolve({ data: canonicalRelease }); + }, + createRelease: () => Promise.resolve({ data: duplicateRelease }), + updateRelease: () => Promise.reject('Not implemented'), + finalizeRelease: () => Promise.reject('Not implemented'), + allReleases: async function* () { + yield { data: [duplicateRelease, canonicalRelease] }; + }, + listReleaseAssets: () => Promise.reject('Not implemented'), + deleteReleaseAsset: () => Promise.reject('Not implemented'), + deleteRelease: deleteReleaseSpy, + updateReleaseAsset: () => Promise.reject('Not implemented'), + uploadReleaseAsset: () => Promise.reject('Not implemented'), + }; + + const result = await release(config, mockReleaser, 2); + + assert.equal(result.release.id, canonicalRelease.id); + assert.equal(result.created, false); + expect(deleteReleaseSpy).toHaveBeenCalledWith({ + owner: 'owner', + repo: 'repo', + release_id: duplicateRelease.id, + }); + }); + + it('falls back to recent releases when tag lookup still lags after create', async () => { + const canonicalRelease: Release = { + id: 1, + upload_url: 'canonical-upload', + html_url: 'canonical-html', + tag_name: 'v1.0.0', + name: 'canonical', + body: 'test', + target_commitish: 'main', + draft: true, + prerelease: false, + assets: [], + }; + const duplicateRelease: Release = { + id: 2, + upload_url: 'duplicate-upload', + html_url: 'duplicate-html', + tag_name: 'v1.0.0', + name: 'duplicate', + body: 'test', + target_commitish: 'main', + draft: true, + prerelease: false, + assets: [], + }; + + const deleteReleaseSpy = vi.fn(async () => undefined); + const mockReleaser: Releaser = { + getReleaseByTag: () => Promise.reject({ status: 404 }), + createRelease: () => Promise.resolve({ data: duplicateRelease }), + updateRelease: () => Promise.reject('Not implemented'), + finalizeRelease: () => Promise.reject('Not implemented'), + allReleases: async function* () { + yield { data: [duplicateRelease, canonicalRelease] }; + }, + listReleaseAssets: () => Promise.reject('Not implemented'), + deleteReleaseAsset: () => Promise.reject('Not implemented'), + deleteRelease: deleteReleaseSpy, + updateReleaseAsset: () => Promise.reject('Not implemented'), + uploadReleaseAsset: () => Promise.reject('Not implemented'), + }; + + const result = await release(config, mockReleaser, 1); + + assert.equal(result.release.id, canonicalRelease.id); + assert.equal(result.created, false); + expect(deleteReleaseSpy).toHaveBeenCalledWith({ + owner: 'owner', + repo: 'repo', + release_id: duplicateRelease.id, + }); + }); + + it('deletes the just-created duplicate draft even if recent release listing misses it', async () => { + const canonicalRelease: Release = { + id: 1, + upload_url: 'canonical-upload', + html_url: 'canonical-html', + tag_name: 'v1.0.0', + name: 'canonical', + body: 'test', + target_commitish: 'main', + draft: true, + prerelease: false, + assets: [], + }; + const duplicateRelease: Release = { + id: 2, + upload_url: 'duplicate-upload', + html_url: 'duplicate-html', + tag_name: 'v1.0.0', + name: 'duplicate', + body: 'test', + target_commitish: 'main', + draft: true, + prerelease: false, + assets: [], + }; + + let lookupCount = 0; + const deleteReleaseSpy = vi.fn(async () => undefined); + const mockReleaser: Releaser = { + getReleaseByTag: () => { + lookupCount += 1; + if (lookupCount === 1) { + return Promise.reject({ status: 404 }); + } + return Promise.resolve({ data: canonicalRelease }); + }, + createRelease: () => Promise.resolve({ data: duplicateRelease }), + updateRelease: () => Promise.reject('Not implemented'), + finalizeRelease: () => Promise.reject('Not implemented'), + allReleases: async function* () { + yield { data: [canonicalRelease] }; + }, + listReleaseAssets: () => Promise.reject('Not implemented'), + deleteReleaseAsset: () => Promise.reject('Not implemented'), + deleteRelease: deleteReleaseSpy, + updateReleaseAsset: () => Promise.reject('Not implemented'), + uploadReleaseAsset: () => Promise.reject('Not implemented'), + }; + + const result = await release(config, mockReleaser, 2); + + assert.equal(result.release.id, canonicalRelease.id); + assert.equal(result.created, false); + expect(deleteReleaseSpy).toHaveBeenCalledWith({ + owner: 'owner', + repo: 'repo', + release_id: duplicateRelease.id, + }); + }); + }); + + describe('upload', () => { + it('restores a dotfile label when GitHub normalizes the uploaded asset name', async () => { + const tempDir = mkdtempSync(join(tmpdir(), 'gh-release-dotfile-')); + const dotfilePath = join(tempDir, '.config'); + writeFileSync(dotfilePath, 'config'); + + const updateReleaseAssetSpy = vi.fn(async () => ({ + data: { + id: 1, + name: 'default.config', + label: '.config', + }, + })); + const releaser: Releaser = { + getReleaseByTag: () => Promise.reject('Not implemented'), + createRelease: () => Promise.reject('Not implemented'), + updateRelease: () => Promise.reject('Not implemented'), + finalizeRelease: () => Promise.reject('Not implemented'), + allReleases: async function* () { + throw new Error('Not implemented'); + }, + listReleaseAssets: () => Promise.reject('Not implemented'), + deleteReleaseAsset: () => Promise.reject('Not implemented'), + deleteRelease: () => Promise.reject('Not implemented'), + updateReleaseAsset: updateReleaseAssetSpy, + uploadReleaseAsset: () => + Promise.resolve({ + status: 201, + data: { + id: 1, + name: 'default.config', + label: '', + }, + }), + }; + + try { + const result = await upload( + config, + releaser, + 'https://uploads.example.test/assets', + dotfilePath, + [], + ); + + expect(updateReleaseAssetSpy).toHaveBeenCalledWith({ + owner: 'owner', + repo: 'repo', + asset_id: 1, + name: 'default.config', + label: '.config', + }); + expect(result).toEqual({ + id: 1, + name: 'default.config', + label: '.config', + }); + } finally { + rmSync(tempDir, { recursive: true, force: true }); + } + }); + + it('refreshes release assets when the uploaded renamed asset is not immediately patchable', async () => { + const tempDir = mkdtempSync(join(tmpdir(), 'gh-release-dotfile-')); + const dotfilePath = join(tempDir, '.config'); + writeFileSync(dotfilePath, 'config'); + + const updateReleaseAssetSpy = vi + .fn() + .mockRejectedValueOnce({ status: 404 }) + .mockResolvedValueOnce({ + data: { + id: 2, + name: 'default.config', + label: '.config', + }, + }); + const listReleaseAssetsSpy = vi.fn().mockResolvedValue([ + { + id: 2, + name: 'default.config', + label: '', + }, + ]); + const releaser: Releaser = { + getReleaseByTag: () => Promise.reject('Not implemented'), + createRelease: () => Promise.reject('Not implemented'), + updateRelease: () => Promise.reject('Not implemented'), + finalizeRelease: () => Promise.reject('Not implemented'), + allReleases: async function* () { + throw new Error('Not implemented'); + }, + listReleaseAssets: listReleaseAssetsSpy, + deleteReleaseAsset: () => Promise.reject('Not implemented'), + deleteRelease: () => Promise.reject('Not implemented'), + updateReleaseAsset: updateReleaseAssetSpy, + uploadReleaseAsset: () => + Promise.resolve({ + status: 201, + data: { + id: 1, + name: 'default.config', + label: '', + }, + }), + }; + + try { + const result = await upload( + config, + releaser, + 'https://uploads.github.com/repos/owner/repo/releases/1/assets', + dotfilePath, + [], + ); + + expect(updateReleaseAssetSpy).toHaveBeenNthCalledWith(1, { + owner: 'owner', + repo: 'repo', + asset_id: 1, + name: 'default.config', + label: '.config', + }); + expect(listReleaseAssetsSpy).toHaveBeenCalledWith({ + owner: 'owner', + repo: 'repo', + release_id: 1, + }); + expect(updateReleaseAssetSpy).toHaveBeenNthCalledWith(2, { + owner: 'owner', + repo: 'repo', + asset_id: 2, + name: 'default.config', + label: '.config', + }); + expect(result).toEqual({ + id: 2, + name: 'default.config', + label: '.config', + }); + } finally { + rmSync(tempDir, { recursive: true, force: true }); + } + }); + + it('treats update-a-release-asset 404 as success when a matching asset is present after refresh', async () => { + const tempDir = mkdtempSync(join(tmpdir(), 'gh-release-dotfile-')); + const dotfilePath = join(tempDir, '.config'); + writeFileSync(dotfilePath, 'config'); + + const listReleaseAssetsSpy = vi.fn().mockResolvedValue([ + { + id: 2, + name: 'default.config', + label: '.config', + }, + ]); + const releaser: Releaser = { + getReleaseByTag: () => Promise.reject('Not implemented'), + createRelease: () => Promise.reject('Not implemented'), + updateRelease: () => Promise.reject('Not implemented'), + finalizeRelease: () => Promise.reject('Not implemented'), + allReleases: async function* () { + throw new Error('Not implemented'); + }, + listReleaseAssets: listReleaseAssetsSpy, + deleteReleaseAsset: () => Promise.reject('Not implemented'), + deleteRelease: () => Promise.reject('Not implemented'), + updateReleaseAsset: () => Promise.reject('Not implemented'), + uploadReleaseAsset: () => + Promise.reject({ + status: 404, + message: + 'Not Found - https://docs.github.com/rest/releases/assets#update-a-release-asset', + }), + }; + + try { + const result = await upload( + config, + releaser, + 'https://uploads.github.com/repos/owner/repo/releases/1/assets', + dotfilePath, + [], + ); + + expect(listReleaseAssetsSpy).toHaveBeenCalledWith({ + owner: 'owner', + repo: 'repo', + release_id: 1, + }); + expect(result).toEqual({ + id: 2, + name: 'default.config', + label: '.config', + }); + } finally { + rmSync(tempDir, { recursive: true, force: true }); + } + }); + + it('treats upload-endpoint 404s as release asset metadata failures when the docs link matches', async () => { + const tempDir = mkdtempSync(join(tmpdir(), 'gh-release-dotfile-')); + const dotfilePath = join(tempDir, '.config'); + writeFileSync(dotfilePath, 'config'); + + const listReleaseAssetsSpy = vi.fn().mockResolvedValue([ + { + id: 2, + name: 'default.config', + label: '.config', + }, + ]); + const releaser: Releaser = { + getReleaseByTag: () => Promise.reject('Not implemented'), + createRelease: () => Promise.reject('Not implemented'), + updateRelease: () => Promise.reject('Not implemented'), + finalizeRelease: () => Promise.reject('Not implemented'), + allReleases: async function* () { + throw new Error('Not implemented'); + }, + listReleaseAssets: listReleaseAssetsSpy, + deleteReleaseAsset: () => Promise.reject('Not implemented'), + deleteRelease: () => Promise.reject('Not implemented'), + updateReleaseAsset: () => Promise.reject('Not implemented'), + uploadReleaseAsset: () => + Promise.reject({ + status: 404, + message: + 'Not Found - https://docs.github.com/rest/releases/assets#update-a-release-asset', + request: { + url: 'https://uploads.github.com/repos/owner/repo/releases/1/assets?name=.config', + }, + }), + }; + + try { + const result = await upload( + config, + releaser, + 'https://uploads.github.com/repos/owner/repo/releases/1/assets', + dotfilePath, + [], + ); + + expect(listReleaseAssetsSpy).toHaveBeenCalledWith({ + owner: 'owner', + repo: 'repo', + release_id: 1, + }); + expect(result).toEqual({ + id: 2, + name: 'default.config', + label: '.config', + }); + } finally { + rmSync(tempDir, { recursive: true, force: true }); + } + }); + + it('polls for a matching asset after update-a-release-asset 404 before failing', async () => { + const tempDir = mkdtempSync(join(tmpdir(), 'gh-release-dotfile-')); + const dotfilePath = join(tempDir, '.config'); + writeFileSync(dotfilePath, 'config'); + + const listReleaseAssetsSpy = vi + .fn() + .mockResolvedValueOnce([]) + .mockResolvedValueOnce([ + { + id: 2, + name: 'default.config', + label: '.config', + }, + ]); + const releaser: Releaser = { + getReleaseByTag: () => Promise.reject('Not implemented'), + createRelease: () => Promise.reject('Not implemented'), + updateRelease: () => Promise.reject('Not implemented'), + finalizeRelease: () => Promise.reject('Not implemented'), + allReleases: async function* () { + throw new Error('Not implemented'); + }, + listReleaseAssets: listReleaseAssetsSpy, + deleteReleaseAsset: () => Promise.reject('Not implemented'), + deleteRelease: () => Promise.reject('Not implemented'), + updateReleaseAsset: () => Promise.reject('Not implemented'), + uploadReleaseAsset: () => + Promise.reject({ + status: 404, + message: + 'Not Found - https://docs.github.com/rest/releases/assets#update-a-release-asset', + }), + }; + + try { + const resultPromise = upload( + config, + releaser, + 'https://uploads.github.com/repos/owner/repo/releases/1/assets', + dotfilePath, + [], + ); + + await new Promise((resolve) => setTimeout(resolve, 1100)); + + const result = await resultPromise; + + expect(listReleaseAssetsSpy).toHaveBeenCalledTimes(2); + expect(result).toEqual({ + id: 2, + name: 'default.config', + label: '.config', + }); + } finally { + rmSync(tempDir, { recursive: true, force: true }); + } + }); + + it('matches an existing asset by label when overwriting a dotfile', async () => { + const tempDir = mkdtempSync(join(tmpdir(), 'gh-release-dotfile-')); + const dotfilePath = join(tempDir, '.config'); + writeFileSync(dotfilePath, 'config'); + + const deleteReleaseAssetSpy = vi.fn(async () => undefined); + const releaser: Releaser = { + getReleaseByTag: () => Promise.reject('Not implemented'), + createRelease: () => Promise.reject('Not implemented'), + updateRelease: () => Promise.reject('Not implemented'), + finalizeRelease: () => Promise.reject('Not implemented'), + allReleases: async function* () { + throw new Error('Not implemented'); + }, + listReleaseAssets: () => Promise.reject('Not implemented'), + deleteReleaseAsset: deleteReleaseAssetSpy, + deleteRelease: () => Promise.reject('Not implemented'), + updateReleaseAsset: () => + Promise.resolve({ + data: { + id: 2, + name: 'default.config', + label: '.config', + }, + }), + uploadReleaseAsset: () => + Promise.resolve({ + status: 201, + data: { + id: 2, + name: 'default.config', + label: '', + }, + }), + }; + + try { + await upload(config, releaser, 'https://uploads.example.test/assets', dotfilePath, [ + { + id: 1, + name: 'default.config', + label: '.config', + }, + ]); + + expect(deleteReleaseAssetSpy).toHaveBeenCalledWith({ + asset_id: 1, + owner: 'owner', + repo: 'repo', + }); + } finally { + rmSync(tempDir, { recursive: true, force: true }); + } }); }); }); diff --git a/__tests__/util.test.ts b/__tests__/util.test.ts index bc1dfc3..b142c6e 100644 --- a/__tests__/util.test.ts +++ b/__tests__/util.test.ts @@ -1,54 +1,76 @@ import { - releaseBody, + alignAssetName, + expandHomePattern, isTag, - paths, + normalizeFilePattern, + normalizeGlobPattern, + normalizeTagName, parseConfig, parseInputFiles, + paths, + releaseBody, unmatchedPatterns, uploadUrl, - alignAssetName, -} from "../src/util"; -import * as assert from "assert"; +} from '../src/util'; -describe("util", () => { - describe("uploadUrl", () => { - it("strips template", () => { +import { assert, describe, expect, it } from 'vitest'; + +describe('util', () => { + describe('uploadUrl', () => { + it('strips template', () => { assert.equal( uploadUrl( - "https://uploads.github.com/repos/octocat/Hello-World/releases/1/assets{?name,label}", + 'https://uploads.github.com/repos/octocat/Hello-World/releases/1/assets{?name,label}', ), - "https://uploads.github.com/repos/octocat/Hello-World/releases/1/assets", + 'https://uploads.github.com/repos/octocat/Hello-World/releases/1/assets', ); }); }); - describe("parseInputFiles", () => { - it("parses empty strings", () => { - assert.deepStrictEqual(parseInputFiles(""), []); + describe('parseInputFiles', () => { + it('parses empty strings', () => { + assert.deepStrictEqual(parseInputFiles(''), []); }); - it("parses comma-delimited strings", () => { - assert.deepStrictEqual(parseInputFiles("foo,bar"), ["foo", "bar"]); + it('parses comma-delimited strings', () => { + assert.deepStrictEqual(parseInputFiles('foo,bar'), ['foo', 'bar']); }); - it("parses newline and comma-delimited (and then some)", () => { - assert.deepStrictEqual( - parseInputFiles("foo,bar\nbaz,boom,\n\ndoom,loom "), - ["foo", "bar", "baz", "boom", "doom", "loom"], - ); + it('parses newline and comma-delimited (and then some)', () => { + assert.deepStrictEqual(parseInputFiles('foo,bar\nbaz,boom,\n\ndoom,loom '), [ + 'foo', + 'bar', + 'baz', + 'boom', + 'doom', + 'loom', + ]); + }); + it('handles globs with brace groups containing commas', () => { + assert.deepStrictEqual(parseInputFiles('./**/*.{exe,deb,tar.gz}\nfoo,bar'), [ + './**/*.{exe,deb,tar.gz}', + 'foo', + 'bar', + ]); + }); + it('handles single-line brace pattern correctly', () => { + assert.deepStrictEqual(parseInputFiles('./**/*.{exe,deb,tar.gz}'), [ + './**/*.{exe,deb,tar.gz}', + ]); }); }); - describe("releaseBody", () => { - it("uses input body", () => { + describe('releaseBody', () => { + it('uses input body', () => { assert.equal( - "foo", + 'foo', releaseBody({ - github_ref: "", - github_repository: "", - github_token: "", - input_body: "foo", + github_ref: '', + github_repository: '', + github_token: '', + input_body: 'foo', input_body_path: undefined, input_draft: false, input_prerelease: false, input_preserve_order: undefined, input_files: [], + input_overwrite_files: undefined, input_name: undefined, input_tag_name: undefined, input_target_commitish: undefined, @@ -58,19 +80,20 @@ describe("util", () => { }), ); }); - it("uses input body path", () => { + it('uses input body path', () => { assert.equal( - "bar", + 'bar', releaseBody({ - github_ref: "", - github_repository: "", - github_token: "", + github_ref: '', + github_repository: '', + github_token: '', input_body: undefined, - input_body_path: "__tests__/release.txt", + input_body_path: '__tests__/release.txt', input_draft: false, input_prerelease: false, input_preserve_order: undefined, input_files: [], + input_overwrite_files: undefined, input_name: undefined, input_tag_name: undefined, input_target_commitish: undefined, @@ -80,19 +103,20 @@ describe("util", () => { }), ); }); - it("defaults to body path when both body and body path are provided", () => { + it('defaults to body path when both body and body path are provided', () => { assert.equal( - "bar", + 'bar', releaseBody({ - github_ref: "", - github_repository: "", - github_token: "", - input_body: "foo", - input_body_path: "__tests__/release.txt", + github_ref: '', + github_repository: '', + github_token: '', + input_body: 'foo', + input_body_path: '__tests__/release.txt', input_draft: false, input_prerelease: false, input_preserve_order: undefined, input_files: [], + input_overwrite_files: undefined, input_name: undefined, input_tag_name: undefined, input_target_commitish: undefined, @@ -102,9 +126,78 @@ describe("util", () => { }), ); }); + it('falls back to body when body_path is missing', () => { + assert.equal( + releaseBody({ + github_ref: '', + github_repository: '', + github_token: '', + input_body: 'fallback-body', + input_body_path: '__tests__/does-not-exist.txt', + input_draft: false, + input_prerelease: false, + input_files: [], + input_overwrite_files: undefined, + input_preserve_order: undefined, + input_name: undefined, + input_tag_name: undefined, + input_target_commitish: undefined, + input_discussion_category_name: undefined, + input_generate_release_notes: false, + input_make_latest: undefined, + }), + 'fallback-body', + ); + }); + it('returns undefined when body_path is missing and body is not provided', () => { + assert.equal( + releaseBody({ + github_ref: '', + github_repository: '', + github_token: '', + input_body: undefined, + input_body_path: '__tests__/does-not-exist.txt', + input_draft: false, + input_prerelease: false, + input_files: [], + input_overwrite_files: undefined, + input_preserve_order: undefined, + input_name: undefined, + input_tag_name: undefined, + input_target_commitish: undefined, + input_discussion_category_name: undefined, + input_generate_release_notes: false, + input_make_latest: undefined, + }), + undefined, + ); + }); }); - describe("parseConfig", () => { - it("parses basic config", () => { + describe('parseConfig', () => { + const baseParsedConfig = { + github_ref: '', + github_repository: '', + github_token: '', + input_working_directory: undefined, + input_append_body: false, + input_body: undefined, + input_body_path: undefined, + input_draft: undefined, + input_prerelease: undefined, + input_preserve_order: undefined, + input_files: [], + input_overwrite_files: undefined, + input_name: undefined, + input_tag_name: undefined, + input_fail_on_unmatched_files: false, + input_target_commitish: undefined, + input_discussion_category_name: undefined, + input_generate_release_notes: false, + input_previous_tag: undefined, + input_make_latest: undefined, + }; + + it('parses basic config', () => { assert.deepStrictEqual( parseConfig({ // note: inputs declared in actions.yml, even when declared not required, @@ -113,289 +206,285 @@ describe("util", () => { // as an empty string !== undefined in terms of what we pass to the api // so we cover that in a test case here to ensure undefined values are actually // resolved as undefined and not empty strings - INPUT_TARGET_COMMITISH: "", - INPUT_DISCUSSION_CATEGORY_NAME: "", + INPUT_TARGET_COMMITISH: '', + INPUT_DISCUSSION_CATEGORY_NAME: '', + }), + baseParsedConfig, + ); + }); + + it('parses basic config with commitish', () => { + assert.deepStrictEqual( + parseConfig({ + INPUT_TARGET_COMMITISH: 'affa18ef97bc9db20076945705aba8c516139abd', }), { - github_ref: "", - github_repository: "", - github_token: "", - input_append_body: false, - input_body: undefined, - input_body_path: undefined, - input_draft: undefined, - input_prerelease: undefined, - input_preserve_order: undefined, - input_files: [], - input_name: undefined, - input_tag_name: undefined, - input_fail_on_unmatched_files: false, - input_target_commitish: undefined, - input_discussion_category_name: undefined, - input_generate_release_notes: false, - input_make_latest: undefined, + ...baseParsedConfig, + input_target_commitish: 'affa18ef97bc9db20076945705aba8c516139abd', + }, + ); + }); + it('supports discussion category names', () => { + assert.deepStrictEqual( + parseConfig({ + INPUT_DISCUSSION_CATEGORY_NAME: 'releases', + }), + { + ...baseParsedConfig, + input_discussion_category_name: 'releases', }, ); }); - it("parses basic config with commitish", () => { + it('supports generating release notes', () => { assert.deepStrictEqual( parseConfig({ - INPUT_TARGET_COMMITISH: "affa18ef97bc9db20076945705aba8c516139abd", + INPUT_GENERATE_RELEASE_NOTES: 'true', }), { - github_ref: "", - github_repository: "", - github_token: "", - input_append_body: false, - input_body: undefined, - input_body_path: undefined, - input_draft: undefined, - input_prerelease: undefined, - input_files: [], - input_preserve_order: undefined, - input_name: undefined, - input_tag_name: undefined, - input_fail_on_unmatched_files: false, - input_target_commitish: "affa18ef97bc9db20076945705aba8c516139abd", - input_discussion_category_name: undefined, - input_generate_release_notes: false, - input_make_latest: undefined, - }, - ); - }); - it("supports discussion category names", () => { - assert.deepStrictEqual( - parseConfig({ - INPUT_DISCUSSION_CATEGORY_NAME: "releases", - }), - { - github_ref: "", - github_repository: "", - github_token: "", - input_append_body: false, - input_body: undefined, - input_body_path: undefined, - input_draft: undefined, - input_prerelease: undefined, - input_files: [], - input_preserve_order: undefined, - input_name: undefined, - input_tag_name: undefined, - input_fail_on_unmatched_files: false, - input_target_commitish: undefined, - input_discussion_category_name: "releases", - input_generate_release_notes: false, - input_make_latest: undefined, - }, - ); - }); - - it("supports generating release notes", () => { - assert.deepStrictEqual( - parseConfig({ - INPUT_GENERATE_RELEASE_NOTES: "true", - }), - { - github_ref: "", - github_repository: "", - github_token: "", - input_append_body: false, - input_body: undefined, - input_body_path: undefined, - input_draft: undefined, - input_prerelease: undefined, - input_preserve_order: undefined, - input_files: [], - input_name: undefined, - input_tag_name: undefined, - input_fail_on_unmatched_files: false, - input_target_commitish: undefined, - input_discussion_category_name: undefined, + ...baseParsedConfig, input_generate_release_notes: true, - input_make_latest: undefined, }, ); }); - it("prefers GITHUB_TOKEN over token input for backwards compatibility", () => { + it('supports an explicit previous tag for release notes generation', () => { assert.deepStrictEqual( parseConfig({ - INPUT_DRAFT: "false", - INPUT_PRERELEASE: "true", - INPUT_PRESERVE_ORDER: "true", - GITHUB_TOKEN: "env-token", - INPUT_TOKEN: "input-token", + INPUT_PREVIOUS_TAG: ' v1.2.3 ', }), { - github_ref: "", - github_repository: "", - github_token: "env-token", - input_append_body: false, - input_body: undefined, - input_body_path: undefined, + ...baseParsedConfig, + input_previous_tag: 'v1.2.3', + }, + ); + }); + + it('prefers token input over GITHUB_TOKEN', () => { + assert.deepStrictEqual( + parseConfig({ + INPUT_DRAFT: 'false', + INPUT_PRERELEASE: 'true', + INPUT_PRESERVE_ORDER: 'true', + GITHUB_TOKEN: 'env-token', + INPUT_TOKEN: 'input-token', + }), + { + ...baseParsedConfig, + github_token: 'input-token', input_draft: false, input_prerelease: true, input_preserve_order: true, - input_files: [], - input_name: undefined, - input_tag_name: undefined, - input_fail_on_unmatched_files: false, - input_target_commitish: undefined, - input_discussion_category_name: undefined, - input_generate_release_notes: false, - input_make_latest: undefined, }, ); }); - it("uses input token as the source of GITHUB_TOKEN by default", () => { + it('falls back to GITHUB_TOKEN when token input is empty', () => { assert.deepStrictEqual( parseConfig({ - INPUT_DRAFT: "false", - INPUT_PRERELEASE: "true", - INPUT_TOKEN: "input-token", + GITHUB_TOKEN: 'env-token', + INPUT_TOKEN: ' ', }), { - github_ref: "", - github_repository: "", - github_token: "input-token", - input_append_body: false, - input_body: undefined, - input_body_path: undefined, + ...baseParsedConfig, + github_token: 'env-token', + }, + ); + }); + it('uses input token as the source of GITHUB_TOKEN by default', () => { + assert.deepStrictEqual( + parseConfig({ + INPUT_DRAFT: 'false', + INPUT_PRERELEASE: 'true', + INPUT_TOKEN: 'input-token', + }), + { + ...baseParsedConfig, + github_token: 'input-token', input_draft: false, input_prerelease: true, - input_preserve_order: undefined, - input_files: [], - input_name: undefined, - input_tag_name: undefined, - input_fail_on_unmatched_files: false, - input_target_commitish: undefined, - input_discussion_category_name: undefined, - input_generate_release_notes: false, - input_make_latest: undefined, }, ); }); - it("parses basic config with draft and prerelease", () => { + it('parses basic config with draft and prerelease', () => { assert.deepStrictEqual( parseConfig({ - INPUT_DRAFT: "false", - INPUT_PRERELEASE: "true", + INPUT_DRAFT: 'false', + INPUT_PRERELEASE: 'true', }), { - github_ref: "", - github_repository: "", - github_token: "", - input_append_body: false, - input_body: undefined, - input_body_path: undefined, + ...baseParsedConfig, input_draft: false, input_prerelease: true, - input_preserve_order: undefined, - input_files: [], - input_name: undefined, - input_tag_name: undefined, - input_fail_on_unmatched_files: false, - input_target_commitish: undefined, - input_discussion_category_name: undefined, - input_generate_release_notes: false, - input_make_latest: undefined, }, ); }); - it("parses basic config where make_latest is passed", () => { + it('parses basic config where make_latest is passed', () => { assert.deepStrictEqual( parseConfig({ - INPUT_MAKE_LATEST: "false", + INPUT_MAKE_LATEST: 'false', }), { - github_ref: "", - github_repository: "", - github_token: "", - input_append_body: false, - input_body: undefined, - input_body_path: undefined, - input_draft: undefined, - input_prerelease: undefined, - input_preserve_order: undefined, - input_files: [], - input_name: undefined, - input_tag_name: undefined, - input_fail_on_unmatched_files: false, - input_target_commitish: undefined, - input_discussion_category_name: undefined, - input_generate_release_notes: false, - input_make_latest: "false", + ...baseParsedConfig, + input_make_latest: 'false', }, ); }); - it("parses basic config with append_body", () => { + it('parses basic config with append_body', () => { assert.deepStrictEqual( parseConfig({ - INPUT_APPEND_BODY: "true", + INPUT_APPEND_BODY: 'true', }), { - github_ref: "", - github_repository: "", - github_token: "", + ...baseParsedConfig, input_append_body: true, - input_body: undefined, - input_body_path: undefined, - input_draft: undefined, - input_prerelease: undefined, - input_preserve_order: undefined, - input_files: [], - input_name: undefined, - input_tag_name: undefined, - input_fail_on_unmatched_files: false, - input_target_commitish: undefined, - input_discussion_category_name: undefined, - input_generate_release_notes: false, - input_make_latest: undefined, }, ); }); - }); - describe("isTag", () => { - it("returns true for tags", async () => { - assert.equal(isTag("refs/tags/foo"), true); + + it('normalizes refs/tags-prefixed input_tag_name values', () => { + expect(parseConfig({ INPUT_TAG_NAME: 'refs/tags/v1.2.3' }).input_tag_name).toBe('v1.2.3'); }); - it("returns false for other kinds of refs", async () => { - assert.equal(isTag("refs/heads/master"), false); + }); + describe('isTag', () => { + it('returns true for tags', async () => { + assert.equal(isTag('refs/tags/foo'), true); + }); + it('returns false for other kinds of refs', async () => { + assert.equal(isTag('refs/heads/master'), false); }); }); - describe("paths", () => { - it("resolves files given a set of paths", async () => { - assert.deepStrictEqual( - paths(["tests/data/**/*", "tests/data/does/not/exist/*"]), - ["tests/data/foo/bar.txt"], - ); + describe('normalizeTagName', () => { + it('strips refs/tags/ from explicit tag names', () => { + assert.equal(normalizeTagName('refs/tags/v1.2.3'), 'v1.2.3'); + }); + + it('leaves plain tag names unchanged', () => { + assert.equal(normalizeTagName('v1.2.3'), 'v1.2.3'); }); }); - describe("unmatchedPatterns", () => { + describe('paths', () => { + it('resolves files given a set of paths', async () => { + assert.deepStrictEqual(paths(['tests/data/**/*', 'tests/data/does/not/exist/*']), [ + 'tests/data/foo/bar.txt', + ]); + }); + + it('resolves files relative to working_directory', async () => { + assert.deepStrictEqual(paths(['data/**/*'], 'tests'), ['tests/data/foo/bar.txt']); + }); + }); + + describe('unmatchedPatterns', () => { it("returns the patterns that don't match any files", async () => { assert.deepStrictEqual( - unmatchedPatterns(["tests/data/**/*", "tests/data/does/not/exist/*"]), - ["tests/data/does/not/exist/*"], + unmatchedPatterns(['tests/data/**/*', 'tests/data/does/not/exist/*']), + ['tests/data/does/not/exist/*'], + ); + }); + + it('resolves unmatched relative to working_directory', async () => { + assert.deepStrictEqual(unmatchedPatterns(['data/does/not/exist/*'], 'tests'), [ + 'data/does/not/exist/*', + ]); + }); + }); + + describe('normalizeGlobPattern', () => { + it('preserves posix-style patterns on non-windows platforms', () => { + assert.equal(normalizeGlobPattern('./dist/**/*.tgz', 'linux'), './dist/**/*.tgz'); + }); + + it('normalizes relative windows-style glob patterns', () => { + assert.equal( + normalizeGlobPattern('.\\release-assets\\rssguard-*win7.exe', 'win32'), + './release-assets/rssguard-*win7.exe', + ); + }); + + it('normalizes absolute windows-style glob patterns', () => { + assert.equal( + normalizeGlobPattern('D:\\a\\repo\\build\\packages\\*', 'win32'), + 'D:/a/repo/build/packages/*', ); }); }); - describe("replaceSpacesWithDots", () => { - it("replaces all spaces with dots", () => { - expect(alignAssetName("John Doe.bla")).toBe("John.Doe.bla"); + describe('expandHomePattern', () => { + it('expands a bare tilde to the provided home directory', () => { + assert.equal(expandHomePattern('~', '/home/runner'), '/home/runner'); }); - it("handles names with multiple spaces", () => { - expect(alignAssetName("John William Doe.bla")).toBe( - "John.William.Doe.bla", + it('expands posix-style tilde paths', () => { + assert.equal(expandHomePattern('~/release.txt', '/home/runner'), '/home/runner/release.txt'); + }); + + it('leaves non-tilde paths unchanged', () => { + assert.equal(expandHomePattern('./release.txt', '/home/runner'), './release.txt'); + }); + }); + + describe('normalizeFilePattern', () => { + it('expands tilde paths before globbing', () => { + assert.equal( + normalizeFilePattern('~/release-assets/*.tgz', 'linux', '/home/runner'), + '/home/runner/release-assets/*.tgz', ); }); - it("returns the same string if there are no spaces", () => { - expect(alignAssetName("JohnDoe")).toBe("JohnDoe"); + it('expands tilde paths and normalizes windows separators', () => { + assert.equal( + normalizeFilePattern('~\\release-assets\\*.zip', 'win32', 'C:\\Users\\runner'), + 'C:/Users/runner/release-assets/*.zip', + ); + }); + }); + + describe('replaceSpacesWithDots', () => { + it('replaces all spaces with dots', () => { + expect(alignAssetName('John Doe.bla')).toBe('John.Doe.bla'); + }); + + it('handles names with multiple spaces', () => { + expect(alignAssetName('John William Doe.bla')).toBe('John.William.Doe.bla'); + }); + + it('returns the same string if there are no spaces', () => { + expect(alignAssetName('JohnDoe')).toBe('JohnDoe'); }); }); }); + +describe('parseInputFiles edge cases', () => { + it('handles multiple brace groups on same line', () => { + assert.deepStrictEqual(parseInputFiles('./**/*.{exe,deb},./dist/**/*.{zip,tar.gz}'), [ + './**/*.{exe,deb}', + './dist/**/*.{zip,tar.gz}', + ]); + }); + + it('handles nested braces', () => { + assert.deepStrictEqual(parseInputFiles('path/{a,{b,c}}/file.txt'), ['path/{a,{b,c}}/file.txt']); + }); + + it('handles empty comma-separated values', () => { + assert.deepStrictEqual(parseInputFiles('foo,,bar'), ['foo', 'bar']); + }); + + it('handles commas with spaces around braces', () => { + assert.deepStrictEqual(parseInputFiles(' ./**/*.{exe,deb} , file.txt '), [ + './**/*.{exe,deb}', + 'file.txt', + ]); + }); + + it('handles mixed newlines and commas with braces', () => { + assert.deepStrictEqual(parseInputFiles('file1.txt\n./**/*.{exe,deb},file2.txt\nfile3.txt'), [ + 'file1.txt', + './**/*.{exe,deb}', + 'file2.txt', + 'file3.txt', + ]); + }); +}); diff --git a/action.yml b/action.yml index f9b5206..ee219b7 100644 --- a/action.yml +++ b/action.yml @@ -13,20 +13,27 @@ inputs: description: "Gives the release a custom name. Defaults to tag name" required: false tag_name: - description: "Gives a tag name. Defaults to github.GITHUB_REF" + description: "Gives a tag name. Defaults to github.ref_name. refs/tags/ values are normalized to ." required: false draft: - description: "Creates a draft release. Defaults to false" + description: "Keeps the release as a draft. Defaults to false. When reusing an existing draft release, set this to true to keep it draft; omit it to publish after upload. On immutable-release repositories, use this for prereleases that upload assets and publish the draft later." required: false prerelease: description: "Identify the release as a prerelease. Defaults to false" required: false preserve_order: - description: "Preserver the order of the artifacts when uploading" + description: "Upload artifacts sequentially in the provided order. This does not control the final display order GitHub uses for release assets." required: false files: - description: "Newline-delimited list of path globs for asset files to upload" + description: "Newline-delimited list of path globs for asset files to upload. Escape glob metacharacters when matching literal filenames that contain them. `~/...` expands to the runner home directory. On Windows, both \\ and / path separators are accepted. GitHub may normalize raw asset filenames that contain special characters; the action restores the asset label when possible, but the final download name remains GitHub-controlled." required: false + working_directory: + description: "Base directory to resolve 'files' globs against. Defaults to the workspace root used by the action step." + required: false + overwrite_files: + description: "Overwrite existing files with the same name. Defaults to true" + required: false + default: 'true' fail_on_unmatched_files: description: "Fails if any of the `files` globs match nothing. Defaults to false" required: false @@ -34,11 +41,11 @@ inputs: description: "Repository to make releases against, in / format" required: false token: - description: "Authorized secret GitHub Personal Access Token. Defaults to github.token" + description: "Authorized GitHub token or PAT. Defaults to github.token when omitted. A non-empty explicit token overrides GITHUB_TOKEN. Passing an empty string treats the token as unset." required: false default: ${{ github.token }} target_commitish: - description: "Commitish value that determines where the Git tag is created from. Can be any branch or commit SHA." + description: "Commitish value that determines where the Git tag is created from. Can be any branch or commit SHA. When creating a new tag for an older commit, `github.token` may not have permission to create the ref; use a PAT or another token with sufficient contents permissions if you hit 403 `Resource not accessible by integration`." required: false discussion_category_name: description: "If specified, a discussion of the specified category is created and linked to the release. The value must be a category that already exists in the repository. If there is already a discussion linked to the release, this parameter is ignored." @@ -46,6 +53,10 @@ inputs: generate_release_notes: description: "Whether to automatically generate the name and body for this release. If name is specified, the specified name will be used; otherwise, a name will be automatically generated. If body is specified, the body will be pre-pended to the automatically generated notes." required: false + previous_tag: + description: "Optional. When generate_release_notes is enabled, use this tag as GitHub's previous_tag_name comparison base. If omitted, GitHub chooses the comparison base automatically." + required: false + default: "" append_body: description: "Append to existing body instead of overwriting it. Default is false." required: false @@ -64,7 +75,7 @@ outputs: assets: description: "JSON array containing information about each uploaded asset, in the format given [here](https://docs.github.com/en/rest/reference/repos#upload-a-release-asset--code-samples) (minus the `uploader` field)" runs: - using: "node20" + using: "node24" main: "dist/index.js" branding: color: "green" diff --git a/dist/index.js b/dist/index.js index b1a1d46..6688369 100644 --- a/dist/index.js +++ b/dist/index.js @@ -1,3 +1,86 @@ -(()=>{var e={4914:function(e,t,A){"use strict";var s=this&&this.__createBinding||(Object.create?function(e,t,A,s){if(s===undefined)s=A;var r=Object.getOwnPropertyDescriptor(t,A);if(!r||("get"in r?!t.__esModule:r.writable||r.configurable)){r={enumerable:true,get:function(){return t[A]}}}Object.defineProperty(e,s,r)}:function(e,t,A,s){if(s===undefined)s=A;e[s]=t[A]});var r=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var A in e)if(A!=="default"&&Object.prototype.hasOwnProperty.call(e,A))s(t,e,A);r(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.issue=t.issueCommand=void 0;const i=o(A(857));const n=A(302);function issueCommand(e,t,A){const s=new Command(e,t,A);process.stdout.write(s.toString()+i.EOL)}t.issueCommand=issueCommand;function issue(e,t=""){issueCommand(e,{},t)}t.issue=issue;const a="::";class Command{constructor(e,t,A){if(!e){e="missing.command"}this.command=e;this.properties=t;this.message=A}toString(){let e=a+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let t=true;for(const A in this.properties){if(this.properties.hasOwnProperty(A)){const s=this.properties[A];if(s){if(t){t=false}else{e+=","}e+=`${A}=${escapeProperty(s)}`}}}}e+=`${a}${escapeData(this.message)}`;return e}}function escapeData(e){return(0,n.toCommandValue)(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(e){return(0,n.toCommandValue)(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},7484:function(e,t,A){"use strict";var s=this&&this.__createBinding||(Object.create?function(e,t,A,s){if(s===undefined)s=A;var r=Object.getOwnPropertyDescriptor(t,A);if(!r||("get"in r?!t.__esModule:r.writable||r.configurable)){r={enumerable:true,get:function(){return t[A]}}}Object.defineProperty(e,s,r)}:function(e,t,A,s){if(s===undefined)s=A;e[s]=t[A]});var r=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var A in e)if(A!=="default"&&Object.prototype.hasOwnProperty.call(e,A))s(t,e,A);r(t,e);return t};var i=this&&this.__awaiter||function(e,t,A,s){function adopt(e){return e instanceof A?e:new A((function(t){t(e)}))}return new(A||(A=Promise))((function(A,r){function fulfilled(e){try{step(s.next(e))}catch(e){r(e)}}function rejected(e){try{step(s["throw"](e))}catch(e){r(e)}}function step(e){e.done?A(e.value):adopt(e.value).then(fulfilled,rejected)}step((s=s.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.platform=t.toPlatformPath=t.toWin32Path=t.toPosixPath=t.markdownSummary=t.summary=t.getIDToken=t.getState=t.saveState=t.group=t.endGroup=t.startGroup=t.info=t.notice=t.warning=t.error=t.debug=t.isDebug=t.setFailed=t.setCommandEcho=t.setOutput=t.getBooleanInput=t.getMultilineInput=t.getInput=t.addPath=t.setSecret=t.exportVariable=t.ExitCode=void 0;const n=A(4914);const a=A(4753);const c=A(302);const l=o(A(857));const g=o(A(6928));const h=A(5306);var u;(function(e){e[e["Success"]=0]="Success";e[e["Failure"]=1]="Failure"})(u||(t.ExitCode=u={}));function exportVariable(e,t){const A=(0,c.toCommandValue)(t);process.env[e]=A;const s=process.env["GITHUB_ENV"]||"";if(s){return(0,a.issueFileCommand)("ENV",(0,a.prepareKeyValueMessage)(e,t))}(0,n.issueCommand)("set-env",{name:e},A)}t.exportVariable=exportVariable;function setSecret(e){(0,n.issueCommand)("add-mask",{},e)}t.setSecret=setSecret;function addPath(e){const t=process.env["GITHUB_PATH"]||"";if(t){(0,a.issueFileCommand)("PATH",e)}else{(0,n.issueCommand)("add-path",{},e)}process.env["PATH"]=`${e}${g.delimiter}${process.env["PATH"]}`}t.addPath=addPath;function getInput(e,t){const A=process.env[`INPUT_${e.replace(/ /g,"_").toUpperCase()}`]||"";if(t&&t.required&&!A){throw new Error(`Input required and not supplied: ${e}`)}if(t&&t.trimWhitespace===false){return A}return A.trim()}t.getInput=getInput;function getMultilineInput(e,t){const A=getInput(e,t).split("\n").filter((e=>e!==""));if(t&&t.trimWhitespace===false){return A}return A.map((e=>e.trim()))}t.getMultilineInput=getMultilineInput;function getBooleanInput(e,t){const A=["true","True","TRUE"];const s=["false","False","FALSE"];const r=getInput(e,t);if(A.includes(r))return true;if(s.includes(r))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${e}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}t.getBooleanInput=getBooleanInput;function setOutput(e,t){const A=process.env["GITHUB_OUTPUT"]||"";if(A){return(0,a.issueFileCommand)("OUTPUT",(0,a.prepareKeyValueMessage)(e,t))}process.stdout.write(l.EOL);(0,n.issueCommand)("set-output",{name:e},(0,c.toCommandValue)(t))}t.setOutput=setOutput;function setCommandEcho(e){(0,n.issue)("echo",e?"on":"off")}t.setCommandEcho=setCommandEcho;function setFailed(e){process.exitCode=u.Failure;error(e)}t.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}t.isDebug=isDebug;function debug(e){(0,n.issueCommand)("debug",{},e)}t.debug=debug;function error(e,t={}){(0,n.issueCommand)("error",(0,c.toCommandProperties)(t),e instanceof Error?e.toString():e)}t.error=error;function warning(e,t={}){(0,n.issueCommand)("warning",(0,c.toCommandProperties)(t),e instanceof Error?e.toString():e)}t.warning=warning;function notice(e,t={}){(0,n.issueCommand)("notice",(0,c.toCommandProperties)(t),e instanceof Error?e.toString():e)}t.notice=notice;function info(e){process.stdout.write(e+l.EOL)}t.info=info;function startGroup(e){(0,n.issue)("group",e)}t.startGroup=startGroup;function endGroup(){(0,n.issue)("endgroup")}t.endGroup=endGroup;function group(e,t){return i(this,void 0,void 0,(function*(){startGroup(e);let A;try{A=yield t()}finally{endGroup()}return A}))}t.group=group;function saveState(e,t){const A=process.env["GITHUB_STATE"]||"";if(A){return(0,a.issueFileCommand)("STATE",(0,a.prepareKeyValueMessage)(e,t))}(0,n.issueCommand)("save-state",{name:e},(0,c.toCommandValue)(t))}t.saveState=saveState;function getState(e){return process.env[`STATE_${e}`]||""}t.getState=getState;function getIDToken(e){return i(this,void 0,void 0,(function*(){return yield h.OidcClient.getIDToken(e)}))}t.getIDToken=getIDToken;var E=A(1847);Object.defineProperty(t,"summary",{enumerable:true,get:function(){return E.summary}});var d=A(1847);Object.defineProperty(t,"markdownSummary",{enumerable:true,get:function(){return d.markdownSummary}});var p=A(1976);Object.defineProperty(t,"toPosixPath",{enumerable:true,get:function(){return p.toPosixPath}});Object.defineProperty(t,"toWin32Path",{enumerable:true,get:function(){return p.toWin32Path}});Object.defineProperty(t,"toPlatformPath",{enumerable:true,get:function(){return p.toPlatformPath}});t.platform=o(A(8968))},4753:function(e,t,A){"use strict";var s=this&&this.__createBinding||(Object.create?function(e,t,A,s){if(s===undefined)s=A;var r=Object.getOwnPropertyDescriptor(t,A);if(!r||("get"in r?!t.__esModule:r.writable||r.configurable)){r={enumerable:true,get:function(){return t[A]}}}Object.defineProperty(e,s,r)}:function(e,t,A,s){if(s===undefined)s=A;e[s]=t[A]});var r=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var A in e)if(A!=="default"&&Object.prototype.hasOwnProperty.call(e,A))s(t,e,A);r(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.prepareKeyValueMessage=t.issueFileCommand=void 0;const i=o(A(6982));const n=o(A(9896));const a=o(A(857));const c=A(302);function issueFileCommand(e,t){const A=process.env[`GITHUB_${e}`];if(!A){throw new Error(`Unable to find environment variable for file command ${e}`)}if(!n.existsSync(A)){throw new Error(`Missing file at path: ${A}`)}n.appendFileSync(A,`${(0,c.toCommandValue)(t)}${a.EOL}`,{encoding:"utf8"})}t.issueFileCommand=issueFileCommand;function prepareKeyValueMessage(e,t){const A=`ghadelimiter_${i.randomUUID()}`;const s=(0,c.toCommandValue)(t);if(e.includes(A)){throw new Error(`Unexpected input: name should not contain the delimiter "${A}"`)}if(s.includes(A)){throw new Error(`Unexpected input: value should not contain the delimiter "${A}"`)}return`${e}<<${A}${a.EOL}${s}${a.EOL}${A}`}t.prepareKeyValueMessage=prepareKeyValueMessage},5306:function(e,t,A){"use strict";var s=this&&this.__awaiter||function(e,t,A,s){function adopt(e){return e instanceof A?e:new A((function(t){t(e)}))}return new(A||(A=Promise))((function(A,r){function fulfilled(e){try{step(s.next(e))}catch(e){r(e)}}function rejected(e){try{step(s["throw"](e))}catch(e){r(e)}}function step(e){e.done?A(e.value):adopt(e.value).then(fulfilled,rejected)}step((s=s.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.OidcClient=void 0;const r=A(4844);const o=A(4552);const i=A(7484);class OidcClient{static createHttpClient(e=true,t=10){const A={allowRetries:e,maxRetries:t};return new r.HttpClient("actions/oidc-client",[new o.BearerCredentialHandler(OidcClient.getRequestToken())],A)}static getRequestToken(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_TOKEN"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable")}return e}static getIDTokenUrl(){const e=process.env["ACTIONS_ID_TOKEN_REQUEST_URL"];if(!e){throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable")}return e}static getCall(e){var t;return s(this,void 0,void 0,(function*(){const A=OidcClient.createHttpClient();const s=yield A.getJson(e).catch((e=>{throw new Error(`Failed to get ID Token. \n \n Error Code : ${e.statusCode}\n \n Error Message: ${e.message}`)}));const r=(t=s.result)===null||t===void 0?void 0:t.value;if(!r){throw new Error("Response json body do not have ID Token field")}return r}))}static getIDToken(e){return s(this,void 0,void 0,(function*(){try{let t=OidcClient.getIDTokenUrl();if(e){const A=encodeURIComponent(e);t=`${t}&audience=${A}`}(0,i.debug)(`ID token url is ${t}`);const A=yield OidcClient.getCall(t);(0,i.setSecret)(A);return A}catch(e){throw new Error(`Error message: ${e.message}`)}}))}}t.OidcClient=OidcClient},1976:function(e,t,A){"use strict";var s=this&&this.__createBinding||(Object.create?function(e,t,A,s){if(s===undefined)s=A;var r=Object.getOwnPropertyDescriptor(t,A);if(!r||("get"in r?!t.__esModule:r.writable||r.configurable)){r={enumerable:true,get:function(){return t[A]}}}Object.defineProperty(e,s,r)}:function(e,t,A,s){if(s===undefined)s=A;e[s]=t[A]});var r=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var A in e)if(A!=="default"&&Object.prototype.hasOwnProperty.call(e,A))s(t,e,A);r(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.toPlatformPath=t.toWin32Path=t.toPosixPath=void 0;const i=o(A(6928));function toPosixPath(e){return e.replace(/[\\]/g,"/")}t.toPosixPath=toPosixPath;function toWin32Path(e){return e.replace(/[/]/g,"\\")}t.toWin32Path=toWin32Path;function toPlatformPath(e){return e.replace(/[/\\]/g,i.sep)}t.toPlatformPath=toPlatformPath},8968:function(e,t,A){"use strict";var s=this&&this.__createBinding||(Object.create?function(e,t,A,s){if(s===undefined)s=A;var r=Object.getOwnPropertyDescriptor(t,A);if(!r||("get"in r?!t.__esModule:r.writable||r.configurable)){r={enumerable:true,get:function(){return t[A]}}}Object.defineProperty(e,s,r)}:function(e,t,A,s){if(s===undefined)s=A;e[s]=t[A]});var r=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var A in e)if(A!=="default"&&Object.prototype.hasOwnProperty.call(e,A))s(t,e,A);r(t,e);return t};var i=this&&this.__awaiter||function(e,t,A,s){function adopt(e){return e instanceof A?e:new A((function(t){t(e)}))}return new(A||(A=Promise))((function(A,r){function fulfilled(e){try{step(s.next(e))}catch(e){r(e)}}function rejected(e){try{step(s["throw"](e))}catch(e){r(e)}}function step(e){e.done?A(e.value):adopt(e.value).then(fulfilled,rejected)}step((s=s.apply(e,t||[])).next())}))};var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:true});t.getDetails=t.isLinux=t.isMacOS=t.isWindows=t.arch=t.platform=void 0;const a=n(A(857));const c=o(A(5236));const getWindowsInfo=()=>i(void 0,void 0,void 0,(function*(){const{stdout:e}=yield c.getExecOutput('powershell -command "(Get-CimInstance -ClassName Win32_OperatingSystem).Version"',undefined,{silent:true});const{stdout:t}=yield c.getExecOutput('powershell -command "(Get-CimInstance -ClassName Win32_OperatingSystem).Caption"',undefined,{silent:true});return{name:t.trim(),version:e.trim()}}));const getMacOsInfo=()=>i(void 0,void 0,void 0,(function*(){var e,t,A,s;const{stdout:r}=yield c.getExecOutput("sw_vers",undefined,{silent:true});const o=(t=(e=r.match(/ProductVersion:\s*(.+)/))===null||e===void 0?void 0:e[1])!==null&&t!==void 0?t:"";const i=(s=(A=r.match(/ProductName:\s*(.+)/))===null||A===void 0?void 0:A[1])!==null&&s!==void 0?s:"";return{name:i,version:o}}));const getLinuxInfo=()=>i(void 0,void 0,void 0,(function*(){const{stdout:e}=yield c.getExecOutput("lsb_release",["-i","-r","-s"],{silent:true});const[t,A]=e.trim().split("\n");return{name:t,version:A}}));t.platform=a.default.platform();t.arch=a.default.arch();t.isWindows=t.platform==="win32";t.isMacOS=t.platform==="darwin";t.isLinux=t.platform==="linux";function getDetails(){return i(this,void 0,void 0,(function*(){return Object.assign(Object.assign({},yield t.isWindows?getWindowsInfo():t.isMacOS?getMacOsInfo():getLinuxInfo()),{platform:t.platform,arch:t.arch,isWindows:t.isWindows,isMacOS:t.isMacOS,isLinux:t.isLinux})}))}t.getDetails=getDetails},1847:function(e,t,A){"use strict";var s=this&&this.__awaiter||function(e,t,A,s){function adopt(e){return e instanceof A?e:new A((function(t){t(e)}))}return new(A||(A=Promise))((function(A,r){function fulfilled(e){try{step(s.next(e))}catch(e){r(e)}}function rejected(e){try{step(s["throw"](e))}catch(e){r(e)}}function step(e){e.done?A(e.value):adopt(e.value).then(fulfilled,rejected)}step((s=s.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.summary=t.markdownSummary=t.SUMMARY_DOCS_URL=t.SUMMARY_ENV_VAR=void 0;const r=A(857);const o=A(9896);const{access:i,appendFile:n,writeFile:a}=o.promises;t.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";t.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";class Summary{constructor(){this._buffer=""}filePath(){return s(this,void 0,void 0,(function*(){if(this._filePath){return this._filePath}const e=process.env[t.SUMMARY_ENV_VAR];if(!e){throw new Error(`Unable to find environment variable for $${t.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`)}try{yield i(e,o.constants.R_OK|o.constants.W_OK)}catch(t){throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}this._filePath=e;return this._filePath}))}wrap(e,t,A={}){const s=Object.entries(A).map((([e,t])=>` ${e}="${t}"`)).join("");if(!t){return`<${e}${s}>`}return`<${e}${s}>${t}`}write(e){return s(this,void 0,void 0,(function*(){const t=!!(e===null||e===void 0?void 0:e.overwrite);const A=yield this.filePath();const s=t?a:n;yield s(A,this._buffer,{encoding:"utf8"});return this.emptyBuffer()}))}clear(){return s(this,void 0,void 0,(function*(){return this.emptyBuffer().write({overwrite:true})}))}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){this._buffer="";return this}addRaw(e,t=false){this._buffer+=e;return t?this.addEOL():this}addEOL(){return this.addRaw(r.EOL)}addCodeBlock(e,t){const A=Object.assign({},t&&{lang:t});const s=this.wrap("pre",this.wrap("code",e),A);return this.addRaw(s).addEOL()}addList(e,t=false){const A=t?"ol":"ul";const s=e.map((e=>this.wrap("li",e))).join("");const r=this.wrap(A,s);return this.addRaw(r).addEOL()}addTable(e){const t=e.map((e=>{const t=e.map((e=>{if(typeof e==="string"){return this.wrap("td",e)}const{header:t,data:A,colspan:s,rowspan:r}=e;const o=t?"th":"td";const i=Object.assign(Object.assign({},s&&{colspan:s}),r&&{rowspan:r});return this.wrap(o,A,i)})).join("");return this.wrap("tr",t)})).join("");const A=this.wrap("table",t);return this.addRaw(A).addEOL()}addDetails(e,t){const A=this.wrap("details",this.wrap("summary",e)+t);return this.addRaw(A).addEOL()}addImage(e,t,A){const{width:s,height:r}=A||{};const o=Object.assign(Object.assign({},s&&{width:s}),r&&{height:r});const i=this.wrap("img",null,Object.assign({src:e,alt:t},o));return this.addRaw(i).addEOL()}addHeading(e,t){const A=`h${t}`;const s=["h1","h2","h3","h4","h5","h6"].includes(A)?A:"h1";const r=this.wrap(s,e);return this.addRaw(r).addEOL()}addSeparator(){const e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){const e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,t){const A=Object.assign({},t&&{cite:t});const s=this.wrap("blockquote",e,A);return this.addRaw(s).addEOL()}addLink(e,t){const A=this.wrap("a",e,{href:t});return this.addRaw(A).addEOL()}}const c=new Summary;t.markdownSummary=c;t.summary=c},302:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.toCommandProperties=t.toCommandValue=void 0;function toCommandValue(e){if(e===null||e===undefined){return""}else if(typeof e==="string"||e instanceof String){return e}return JSON.stringify(e)}t.toCommandValue=toCommandValue;function toCommandProperties(e){if(!Object.keys(e).length){return{}}return{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}}t.toCommandProperties=toCommandProperties},5236:function(e,t,A){"use strict";var s=this&&this.__createBinding||(Object.create?function(e,t,A,s){if(s===undefined)s=A;Object.defineProperty(e,s,{enumerable:true,get:function(){return t[A]}})}:function(e,t,A,s){if(s===undefined)s=A;e[s]=t[A]});var r=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var A in e)if(A!=="default"&&Object.hasOwnProperty.call(e,A))s(t,e,A);r(t,e);return t};var i=this&&this.__awaiter||function(e,t,A,s){function adopt(e){return e instanceof A?e:new A((function(t){t(e)}))}return new(A||(A=Promise))((function(A,r){function fulfilled(e){try{step(s.next(e))}catch(e){r(e)}}function rejected(e){try{step(s["throw"](e))}catch(e){r(e)}}function step(e){e.done?A(e.value):adopt(e.value).then(fulfilled,rejected)}step((s=s.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.getExecOutput=t.exec=void 0;const n=A(3193);const a=o(A(6665));function exec(e,t,A){return i(this,void 0,void 0,(function*(){const s=a.argStringToArray(e);if(s.length===0){throw new Error(`Parameter 'commandLine' cannot be null or empty.`)}const r=s[0];t=s.slice(1).concat(t||[]);const o=new a.ToolRunner(r,t,A);return o.exec()}))}t.exec=exec;function getExecOutput(e,t,A){var s,r;return i(this,void 0,void 0,(function*(){let o="";let i="";const a=new n.StringDecoder("utf8");const c=new n.StringDecoder("utf8");const l=(s=A===null||A===void 0?void 0:A.listeners)===null||s===void 0?void 0:s.stdout;const g=(r=A===null||A===void 0?void 0:A.listeners)===null||r===void 0?void 0:r.stderr;const stdErrListener=e=>{i+=c.write(e);if(g){g(e)}};const stdOutListener=e=>{o+=a.write(e);if(l){l(e)}};const h=Object.assign(Object.assign({},A===null||A===void 0?void 0:A.listeners),{stdout:stdOutListener,stderr:stdErrListener});const u=yield exec(e,t,Object.assign(Object.assign({},A),{listeners:h}));o+=a.end();i+=c.end();return{exitCode:u,stdout:o,stderr:i}}))}t.getExecOutput=getExecOutput},6665:function(e,t,A){"use strict";var s=this&&this.__createBinding||(Object.create?function(e,t,A,s){if(s===undefined)s=A;Object.defineProperty(e,s,{enumerable:true,get:function(){return t[A]}})}:function(e,t,A,s){if(s===undefined)s=A;e[s]=t[A]});var r=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var A in e)if(A!=="default"&&Object.hasOwnProperty.call(e,A))s(t,e,A);r(t,e);return t};var i=this&&this.__awaiter||function(e,t,A,s){function adopt(e){return e instanceof A?e:new A((function(t){t(e)}))}return new(A||(A=Promise))((function(A,r){function fulfilled(e){try{step(s.next(e))}catch(e){r(e)}}function rejected(e){try{step(s["throw"](e))}catch(e){r(e)}}function step(e){e.done?A(e.value):adopt(e.value).then(fulfilled,rejected)}step((s=s.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.argStringToArray=t.ToolRunner=void 0;const n=o(A(857));const a=o(A(4434));const c=o(A(5317));const l=o(A(6928));const g=o(A(4994));const h=o(A(5207));const u=A(3557);const E=process.platform==="win32";class ToolRunner extends a.EventEmitter{constructor(e,t,A){super();if(!e){throw new Error("Parameter 'toolPath' cannot be null or empty.")}this.toolPath=e;this.args=t||[];this.options=A||{}}_debug(e){if(this.options.listeners&&this.options.listeners.debug){this.options.listeners.debug(e)}}_getCommandString(e,t){const A=this._getSpawnFileName();const s=this._getSpawnArgs(e);let r=t?"":"[command]";if(E){if(this._isCmdFile()){r+=A;for(const e of s){r+=` ${e}`}}else if(e.windowsVerbatimArguments){r+=`"${A}"`;for(const e of s){r+=` ${e}`}}else{r+=this._windowsQuoteCmdArg(A);for(const e of s){r+=` ${this._windowsQuoteCmdArg(e)}`}}}else{r+=A;for(const e of s){r+=` ${e}`}}return r}_processLineBuffer(e,t,A){try{let s=t+e.toString();let r=s.indexOf(n.EOL);while(r>-1){const e=s.substring(0,r);A(e);s=s.substring(r+n.EOL.length);r=s.indexOf(n.EOL)}return s}catch(e){this._debug(`error processing line. Failed with error ${e}`);return""}}_getSpawnFileName(){if(E){if(this._isCmdFile()){return process.env["COMSPEC"]||"cmd.exe"}}return this.toolPath}_getSpawnArgs(e){if(E){if(this._isCmdFile()){let t=`/D /S /C "${this._windowsQuoteCmdArg(this.toolPath)}`;for(const A of this.args){t+=" ";t+=e.windowsVerbatimArguments?A:this._windowsQuoteCmdArg(A)}t+='"';return[t]}}return this.args}_endsWith(e,t){return e.endsWith(t)}_isCmdFile(){const e=this.toolPath.toUpperCase();return this._endsWith(e,".CMD")||this._endsWith(e,".BAT")}_windowsQuoteCmdArg(e){if(!this._isCmdFile()){return this._uvQuoteCmdArg(e)}if(!e){return'""'}const t=[" ","\t","&","(",")","[","]","{","}","^","=",";","!","'","+",",","`","~","|","<",">",'"'];let A=false;for(const s of e){if(t.some((e=>e===s))){A=true;break}}if(!A){return e}let s='"';let r=true;for(let t=e.length;t>0;t--){s+=e[t-1];if(r&&e[t-1]==="\\"){s+="\\"}else if(e[t-1]==='"'){r=true;s+='"'}else{r=false}}s+='"';return s.split("").reverse().join("")}_uvQuoteCmdArg(e){if(!e){return'""'}if(!e.includes(" ")&&!e.includes("\t")&&!e.includes('"')){return e}if(!e.includes('"')&&!e.includes("\\")){return`"${e}"`}let t='"';let A=true;for(let s=e.length;s>0;s--){t+=e[s-1];if(A&&e[s-1]==="\\"){t+="\\"}else if(e[s-1]==='"'){A=true;t+="\\"}else{A=false}}t+='"';return t.split("").reverse().join("")}_cloneExecOptions(e){e=e||{};const t={cwd:e.cwd||process.cwd(),env:e.env||process.env,silent:e.silent||false,windowsVerbatimArguments:e.windowsVerbatimArguments||false,failOnStdErr:e.failOnStdErr||false,ignoreReturnCode:e.ignoreReturnCode||false,delay:e.delay||1e4};t.outStream=e.outStream||process.stdout;t.errStream=e.errStream||process.stderr;return t}_getSpawnOptions(e,t){e=e||{};const A={};A.cwd=e.cwd;A.env=e.env;A["windowsVerbatimArguments"]=e.windowsVerbatimArguments||this._isCmdFile();if(e.windowsVerbatimArguments){A.argv0=`"${t}"`}return A}exec(){return i(this,void 0,void 0,(function*(){if(!h.isRooted(this.toolPath)&&(this.toolPath.includes("/")||E&&this.toolPath.includes("\\"))){this.toolPath=l.resolve(process.cwd(),this.options.cwd||process.cwd(),this.toolPath)}this.toolPath=yield g.which(this.toolPath,true);return new Promise(((e,t)=>i(this,void 0,void 0,(function*(){this._debug(`exec tool: ${this.toolPath}`);this._debug("arguments:");for(const e of this.args){this._debug(` ${e}`)}const A=this._cloneExecOptions(this.options);if(!A.silent&&A.outStream){A.outStream.write(this._getCommandString(A)+n.EOL)}const s=new ExecState(A,this.toolPath);s.on("debug",(e=>{this._debug(e)}));if(this.options.cwd&&!(yield h.exists(this.options.cwd))){return t(new Error(`The cwd: ${this.options.cwd} does not exist!`))}const r=this._getSpawnFileName();const o=c.spawn(r,this._getSpawnArgs(A),this._getSpawnOptions(this.options,r));let i="";if(o.stdout){o.stdout.on("data",(e=>{if(this.options.listeners&&this.options.listeners.stdout){this.options.listeners.stdout(e)}if(!A.silent&&A.outStream){A.outStream.write(e)}i=this._processLineBuffer(e,i,(e=>{if(this.options.listeners&&this.options.listeners.stdline){this.options.listeners.stdline(e)}}))}))}let a="";if(o.stderr){o.stderr.on("data",(e=>{s.processStderr=true;if(this.options.listeners&&this.options.listeners.stderr){this.options.listeners.stderr(e)}if(!A.silent&&A.errStream&&A.outStream){const t=A.failOnStdErr?A.errStream:A.outStream;t.write(e)}a=this._processLineBuffer(e,a,(e=>{if(this.options.listeners&&this.options.listeners.errline){this.options.listeners.errline(e)}}))}))}o.on("error",(e=>{s.processError=e.message;s.processExited=true;s.processClosed=true;s.CheckComplete()}));o.on("exit",(e=>{s.processExitCode=e;s.processExited=true;this._debug(`Exit code ${e} received from tool '${this.toolPath}'`);s.CheckComplete()}));o.on("close",(e=>{s.processExitCode=e;s.processExited=true;s.processClosed=true;this._debug(`STDIO streams have closed for tool '${this.toolPath}'`);s.CheckComplete()}));s.on("done",((A,s)=>{if(i.length>0){this.emit("stdline",i)}if(a.length>0){this.emit("errline",a)}o.removeAllListeners();if(A){t(A)}else{e(s)}}));if(this.options.input){if(!o.stdin){throw new Error("child process missing stdin")}o.stdin.end(this.options.input)}}))))}))}}t.ToolRunner=ToolRunner;function argStringToArray(e){const t=[];let A=false;let s=false;let r="";function append(e){if(s&&e!=='"'){r+="\\"}r+=e;s=false}for(let o=0;o0){t.push(r);r=""}continue}append(i)}if(r.length>0){t.push(r.trim())}return t}t.argStringToArray=argStringToArray;class ExecState extends a.EventEmitter{constructor(e,t){super();this.processClosed=false;this.processError="";this.processExitCode=0;this.processExited=false;this.processStderr=false;this.delay=1e4;this.done=false;this.timeout=null;if(!t){throw new Error("toolPath must not be empty")}this.options=e;this.toolPath=t;if(e.delay){this.delay=e.delay}}CheckComplete(){if(this.done){return}if(this.processClosed){this._setResult()}else if(this.processExited){this.timeout=u.setTimeout(ExecState.HandleTimeout,this.delay,this)}}_debug(e){this.emit("debug",e)}_setResult(){let e;if(this.processExited){if(this.processError){e=new Error(`There was an error when attempting to execute the process '${this.toolPath}'. This may indicate the process failed to start. Error: ${this.processError}`)}else if(this.processExitCode!==0&&!this.options.ignoreReturnCode){e=new Error(`The process '${this.toolPath}' failed with exit code ${this.processExitCode}`)}else if(this.processStderr&&this.options.failOnStdErr){e=new Error(`The process '${this.toolPath}' failed because one or more lines were written to the STDERR stream`)}}if(this.timeout){clearTimeout(this.timeout);this.timeout=null}this.done=true;this.emit("done",e,this.processExitCode)}static HandleTimeout(e){if(e.done){return}if(!e.processClosed&&e.processExited){const t=`The STDIO streams did not close within ${e.delay/1e3} seconds of the exit event from process '${e.toolPath}'. This may indicate a child process inherited the STDIO streams and has not yet exited.`;e._debug(t)}e._setResult()}}},1648:(e,t,A)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.Context=void 0;const s=A(9896);const r=A(857);class Context{constructor(){var e,t,A;this.payload={};if(process.env.GITHUB_EVENT_PATH){if((0,s.existsSync)(process.env.GITHUB_EVENT_PATH)){this.payload=JSON.parse((0,s.readFileSync)(process.env.GITHUB_EVENT_PATH,{encoding:"utf8"}))}else{const e=process.env.GITHUB_EVENT_PATH;process.stdout.write(`GITHUB_EVENT_PATH ${e} does not exist${r.EOL}`)}}this.eventName=process.env.GITHUB_EVENT_NAME;this.sha=process.env.GITHUB_SHA;this.ref=process.env.GITHUB_REF;this.workflow=process.env.GITHUB_WORKFLOW;this.action=process.env.GITHUB_ACTION;this.actor=process.env.GITHUB_ACTOR;this.job=process.env.GITHUB_JOB;this.runNumber=parseInt(process.env.GITHUB_RUN_NUMBER,10);this.runId=parseInt(process.env.GITHUB_RUN_ID,10);this.apiUrl=(e=process.env.GITHUB_API_URL)!==null&&e!==void 0?e:`https://api.github.com`;this.serverUrl=(t=process.env.GITHUB_SERVER_URL)!==null&&t!==void 0?t:`https://github.com`;this.graphqlUrl=(A=process.env.GITHUB_GRAPHQL_URL)!==null&&A!==void 0?A:`https://api.github.com/graphql`}get issue(){const e=this.payload;return Object.assign(Object.assign({},this.repo),{number:(e.issue||e.pull_request||e).number})}get repo(){if(process.env.GITHUB_REPOSITORY){const[e,t]=process.env.GITHUB_REPOSITORY.split("/");return{owner:e,repo:t}}if(this.payload.repository){return{owner:this.payload.repository.owner.login,repo:this.payload.repository.name}}throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'")}}t.Context=Context},3228:function(e,t,A){"use strict";var s=this&&this.__createBinding||(Object.create?function(e,t,A,s){if(s===undefined)s=A;var r=Object.getOwnPropertyDescriptor(t,A);if(!r||("get"in r?!t.__esModule:r.writable||r.configurable)){r={enumerable:true,get:function(){return t[A]}}}Object.defineProperty(e,s,r)}:function(e,t,A,s){if(s===undefined)s=A;e[s]=t[A]});var r=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var A in e)if(A!=="default"&&Object.prototype.hasOwnProperty.call(e,A))s(t,e,A);r(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.getOctokit=t.context=void 0;const i=o(A(1648));const n=A(8006);t.context=new i.Context;function getOctokit(e,t,...A){const s=n.GitHub.plugin(...A);return new s((0,n.getOctokitOptions)(e,t))}t.getOctokit=getOctokit},5156:function(e,t,A){"use strict";var s=this&&this.__createBinding||(Object.create?function(e,t,A,s){if(s===undefined)s=A;var r=Object.getOwnPropertyDescriptor(t,A);if(!r||("get"in r?!t.__esModule:r.writable||r.configurable)){r={enumerable:true,get:function(){return t[A]}}}Object.defineProperty(e,s,r)}:function(e,t,A,s){if(s===undefined)s=A;e[s]=t[A]});var r=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var A in e)if(A!=="default"&&Object.prototype.hasOwnProperty.call(e,A))s(t,e,A);r(t,e);return t};var i=this&&this.__awaiter||function(e,t,A,s){function adopt(e){return e instanceof A?e:new A((function(t){t(e)}))}return new(A||(A=Promise))((function(A,r){function fulfilled(e){try{step(s.next(e))}catch(e){r(e)}}function rejected(e){try{step(s["throw"](e))}catch(e){r(e)}}function step(e){e.done?A(e.value):adopt(e.value).then(fulfilled,rejected)}step((s=s.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.getApiBaseUrl=t.getProxyFetch=t.getProxyAgentDispatcher=t.getProxyAgent=t.getAuthString=void 0;const n=o(A(4844));const a=A(6752);function getAuthString(e,t){if(!e&&!t.auth){throw new Error("Parameter token or opts.auth is required")}else if(e&&t.auth){throw new Error("Parameters token and opts.auth may not both be specified")}return typeof t.auth==="string"?t.auth:`token ${e}`}t.getAuthString=getAuthString;function getProxyAgent(e){const t=new n.HttpClient;return t.getAgent(e)}t.getProxyAgent=getProxyAgent;function getProxyAgentDispatcher(e){const t=new n.HttpClient;return t.getAgentDispatcher(e)}t.getProxyAgentDispatcher=getProxyAgentDispatcher;function getProxyFetch(e){const t=getProxyAgentDispatcher(e);const proxyFetch=(e,A)=>i(this,void 0,void 0,(function*(){return(0,a.fetch)(e,Object.assign(Object.assign({},A),{dispatcher:t}))}));return proxyFetch}t.getProxyFetch=getProxyFetch;function getApiBaseUrl(){return process.env["GITHUB_API_URL"]||"https://api.github.com"}t.getApiBaseUrl=getApiBaseUrl},8006:function(e,t,A){"use strict";var s=this&&this.__createBinding||(Object.create?function(e,t,A,s){if(s===undefined)s=A;var r=Object.getOwnPropertyDescriptor(t,A);if(!r||("get"in r?!t.__esModule:r.writable||r.configurable)){r={enumerable:true,get:function(){return t[A]}}}Object.defineProperty(e,s,r)}:function(e,t,A,s){if(s===undefined)s=A;e[s]=t[A]});var r=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var A in e)if(A!=="default"&&Object.prototype.hasOwnProperty.call(e,A))s(t,e,A);r(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.getOctokitOptions=t.GitHub=t.defaults=t.context=void 0;const i=o(A(1648));const n=o(A(5156));const a=A(8452);const c=A(5726);const l=A(7731);t.context=new i.Context;const g=n.getApiBaseUrl();t.defaults={baseUrl:g,request:{agent:n.getProxyAgent(g),fetch:n.getProxyFetch(g)}};t.GitHub=a.Octokit.plugin(c.restEndpointMethods,l.paginateRest).defaults(t.defaults);function getOctokitOptions(e,t){const A=Object.assign({},t||{});const s=n.getAuthString(e,A);if(s){A.auth=s}return A}t.getOctokitOptions=getOctokitOptions},2057:e=>{"use strict";var t=Object.defineProperty;var A=Object.getOwnPropertyDescriptor;var s=Object.getOwnPropertyNames;var r=Object.prototype.hasOwnProperty;var __export=(e,A)=>{for(var s in A)t(e,s,{get:A[s],enumerable:true})};var __copyProps=(e,o,i,n)=>{if(o&&typeof o==="object"||typeof o==="function"){for(let a of s(o))if(!r.call(e,a)&&a!==i)t(e,a,{get:()=>o[a],enumerable:!(n=A(o,a))||n.enumerable})}return e};var __toCommonJS=e=>__copyProps(t({},"__esModule",{value:true}),e);var o={};__export(o,{createTokenAuth:()=>c});e.exports=__toCommonJS(o);var i=/^v1\./;var n=/^ghs_/;var a=/^ghu_/;async function auth(e){const t=e.split(/\./).length===3;const A=i.test(e)||n.test(e);const s=a.test(e);const r=t?"app":A?"installation":s?"user-to-server":"oauth";return{type:"token",token:e,tokenType:r}}function withAuthorizationPrefix(e){if(e.split(/\./).length===3){return`bearer ${e}`}return`token ${e}`}async function hook(e,t,A,s){const r=t.endpoint.merge(A,s);r.headers.authorization=withAuthorizationPrefix(e);return t(r)}var c=function createTokenAuth2(e){if(!e){throw new Error("[@octokit/auth-token] No token passed to createTokenAuth")}if(typeof e!=="string"){throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string")}e=e.replace(/^(token|bearer) +/i,"");return Object.assign(auth.bind(null,e),{hook:hook.bind(null,e)})};0&&0},8452:(e,t,A)=>{"use strict";var s=Object.defineProperty;var r=Object.getOwnPropertyDescriptor;var o=Object.getOwnPropertyNames;var i=Object.prototype.hasOwnProperty;var __export=(e,t)=>{for(var A in t)s(e,A,{get:t[A],enumerable:true})};var __copyProps=(e,t,A,n)=>{if(t&&typeof t==="object"||typeof t==="function"){for(let a of o(t))if(!i.call(e,a)&&a!==A)s(e,a,{get:()=>t[a],enumerable:!(n=r(t,a))||n.enumerable})}return e};var __toCommonJS=e=>__copyProps(s({},"__esModule",{value:true}),e);var n={};__export(n,{Octokit:()=>Q});e.exports=__toCommonJS(n);var a=A(3843);var c=A(2732);var l=A(8576);var g=A(5448);var h=A(2057);var u="5.2.0";var noop=()=>{};var E=console.warn.bind(console);var d=console.error.bind(console);var p=`octokit-core.js/${u} ${(0,a.getUserAgent)()}`;var Q=class{static{this.VERSION=u}static defaults(e){const t=class extends(this){constructor(...t){const A=t[0]||{};if(typeof e==="function"){super(e(A));return}super(Object.assign({},e,A,A.userAgent&&e.userAgent?{userAgent:`${A.userAgent} ${e.userAgent}`}:null))}};return t}static{this.plugins=[]}static plugin(...e){const t=this.plugins;const A=class extends(this){static{this.plugins=t.concat(e.filter((e=>!t.includes(e))))}};return A}constructor(e={}){const t=new c.Collection;const A={baseUrl:l.request.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:t.bind(null,"request")}),mediaType:{previews:[],format:""}};A.headers["user-agent"]=e.userAgent?`${e.userAgent} ${p}`:p;if(e.baseUrl){A.baseUrl=e.baseUrl}if(e.previews){A.mediaType.previews=e.previews}if(e.timeZone){A.headers["time-zone"]=e.timeZone}this.request=l.request.defaults(A);this.graphql=(0,g.withCustomRequest)(this.request).defaults(A);this.log=Object.assign({debug:noop,info:noop,warn:E,error:d},e.log);this.hook=t;if(!e.authStrategy){if(!e.auth){this.auth=async()=>({type:"unauthenticated"})}else{const A=(0,h.createTokenAuth)(e.auth);t.wrap("request",A.hook);this.auth=A}}else{const{authStrategy:A,...s}=e;const r=A(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:s},e.auth));t.wrap("request",r.hook);this.auth=r}const s=this.constructor;for(let t=0;t{"use strict";var s=Object.defineProperty;var r=Object.getOwnPropertyDescriptor;var o=Object.getOwnPropertyNames;var i=Object.prototype.hasOwnProperty;var __export=(e,t)=>{for(var A in t)s(e,A,{get:t[A],enumerable:true})};var __copyProps=(e,t,A,n)=>{if(t&&typeof t==="object"||typeof t==="function"){for(let a of o(t))if(!i.call(e,a)&&a!==A)s(e,a,{get:()=>t[a],enumerable:!(n=r(t,a))||n.enumerable})}return e};var __toCommonJS=e=>__copyProps(s({},"__esModule",{value:true}),e);var n={};__export(n,{endpoint:()=>u});e.exports=__toCommonJS(n);var a=A(3843);var c="9.0.5";var l=`octokit-endpoint.js/${c} ${(0,a.getUserAgent)()}`;var g={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":l},mediaType:{format:""}};function lowercaseKeys(e){if(!e){return{}}return Object.keys(e).reduce(((t,A)=>{t[A.toLowerCase()]=e[A];return t}),{})}function isPlainObject(e){if(typeof e!=="object"||e===null)return false;if(Object.prototype.toString.call(e)!=="[object Object]")return false;const t=Object.getPrototypeOf(e);if(t===null)return true;const A=Object.prototype.hasOwnProperty.call(t,"constructor")&&t.constructor;return typeof A==="function"&&A instanceof A&&Function.prototype.call(A)===Function.prototype.call(e)}function mergeDeep(e,t){const A=Object.assign({},e);Object.keys(t).forEach((s=>{if(isPlainObject(t[s])){if(!(s in e))Object.assign(A,{[s]:t[s]});else A[s]=mergeDeep(e[s],t[s])}else{Object.assign(A,{[s]:t[s]})}}));return A}function removeUndefinedProperties(e){for(const t in e){if(e[t]===void 0){delete e[t]}}return e}function merge(e,t,A){if(typeof t==="string"){let[e,s]=t.split(" ");A=Object.assign(s?{method:e,url:s}:{url:e},A)}else{A=Object.assign({},t)}A.headers=lowercaseKeys(A.headers);removeUndefinedProperties(A);removeUndefinedProperties(A.headers);const s=mergeDeep(e||{},A);if(A.url==="/graphql"){if(e&&e.mediaType.previews?.length){s.mediaType.previews=e.mediaType.previews.filter((e=>!s.mediaType.previews.includes(e))).concat(s.mediaType.previews)}s.mediaType.previews=(s.mediaType.previews||[]).map((e=>e.replace(/-preview/,"")))}return s}function addQueryParameters(e,t){const A=/\?/.test(e)?"&":"?";const s=Object.keys(t);if(s.length===0){return e}return e+A+s.map((e=>{if(e==="q"){return"q="+t.q.split("+").map(encodeURIComponent).join("+")}return`${e}=${encodeURIComponent(t[e])}`})).join("&")}var h=/\{[^}]+\}/g;function removeNonChars(e){return e.replace(/^\W+|\W+$/g,"").split(/,/)}function extractUrlVariableNames(e){const t=e.match(h);if(!t){return[]}return t.map(removeNonChars).reduce(((e,t)=>e.concat(t)),[])}function omit(e,t){const A={__proto__:null};for(const s of Object.keys(e)){if(t.indexOf(s)===-1){A[s]=e[s]}}return A}function encodeReserved(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map((function(e){if(!/%[0-9A-Fa-f]/.test(e)){e=encodeURI(e).replace(/%5B/g,"[").replace(/%5D/g,"]")}return e})).join("")}function encodeUnreserved(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function encodeValue(e,t,A){t=e==="+"||e==="#"?encodeReserved(t):encodeUnreserved(t);if(A){return encodeUnreserved(A)+"="+t}else{return t}}function isDefined(e){return e!==void 0&&e!==null}function isKeyOperator(e){return e===";"||e==="&"||e==="?"}function getValues(e,t,A,s){var r=e[A],o=[];if(isDefined(r)&&r!==""){if(typeof r==="string"||typeof r==="number"||typeof r==="boolean"){r=r.toString();if(s&&s!=="*"){r=r.substring(0,parseInt(s,10))}o.push(encodeValue(t,r,isKeyOperator(t)?A:""))}else{if(s==="*"){if(Array.isArray(r)){r.filter(isDefined).forEach((function(e){o.push(encodeValue(t,e,isKeyOperator(t)?A:""))}))}else{Object.keys(r).forEach((function(e){if(isDefined(r[e])){o.push(encodeValue(t,r[e],e))}}))}}else{const e=[];if(Array.isArray(r)){r.filter(isDefined).forEach((function(A){e.push(encodeValue(t,A))}))}else{Object.keys(r).forEach((function(A){if(isDefined(r[A])){e.push(encodeUnreserved(A));e.push(encodeValue(t,r[A].toString()))}}))}if(isKeyOperator(t)){o.push(encodeUnreserved(A)+"="+e.join(","))}else if(e.length!==0){o.push(e.join(","))}}}}else{if(t===";"){if(isDefined(r)){o.push(encodeUnreserved(A))}}else if(r===""&&(t==="&"||t==="?")){o.push(encodeUnreserved(A)+"=")}else if(r===""){o.push("")}}return o}function parseUrl(e){return{expand:expand.bind(null,e)}}function expand(e,t){var A=["+","#",".","/",";","?","&"];e=e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,(function(e,s,r){if(s){let e="";const r=[];if(A.indexOf(s.charAt(0))!==-1){e=s.charAt(0);s=s.substr(1)}s.split(/,/g).forEach((function(A){var s=/([^:\*]*)(?::(\d+)|(\*))?/.exec(A);r.push(getValues(t,e,s[1],s[2]||s[3]))}));if(e&&e!=="+"){var o=",";if(e==="?"){o="&"}else if(e!=="#"){o=e}return(r.length!==0?e:"")+r.join(o)}else{return r.join(",")}}else{return encodeReserved(r)}}));if(e==="/"){return e}else{return e.replace(/\/$/,"")}}function parse(e){let t=e.method.toUpperCase();let A=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}");let s=Object.assign({},e.headers);let r;let o=omit(e,["method","baseUrl","url","headers","request","mediaType"]);const i=extractUrlVariableNames(A);A=parseUrl(A).expand(o);if(!/^http/.test(A)){A=e.baseUrl+A}const n=Object.keys(e).filter((e=>i.includes(e))).concat("baseUrl");const a=omit(o,n);const c=/application\/octet-stream/i.test(s.accept);if(!c){if(e.mediaType.format){s.accept=s.accept.split(/,/).map((t=>t.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`))).join(",")}if(A.endsWith("/graphql")){if(e.mediaType.previews?.length){const t=s.accept.match(/[\w-]+(?=-preview)/g)||[];s.accept=t.concat(e.mediaType.previews).map((t=>{const A=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${t}-preview${A}`})).join(",")}}}if(["GET","HEAD"].includes(t)){A=addQueryParameters(A,a)}else{if("data"in a){r=a.data}else{if(Object.keys(a).length){r=a}}}if(!s["content-type"]&&typeof r!=="undefined"){s["content-type"]="application/json; charset=utf-8"}if(["PATCH","PUT"].includes(t)&&typeof r==="undefined"){r=""}return Object.assign({method:t,url:A,headers:s},typeof r!=="undefined"?{body:r}:null,e.request?{request:e.request}:null)}function endpointWithDefaults(e,t,A){return parse(merge(e,t,A))}function withDefaults(e,t){const A=merge(e,t);const s=endpointWithDefaults.bind(null,A);return Object.assign(s,{DEFAULTS:A,defaults:withDefaults.bind(null,A),merge:merge.bind(null,A),parse:parse})}var u=withDefaults(null,g);0&&0},5448:(e,t,A)=>{"use strict";var s=Object.defineProperty;var r=Object.getOwnPropertyDescriptor;var o=Object.getOwnPropertyNames;var i=Object.prototype.hasOwnProperty;var __export=(e,t)=>{for(var A in t)s(e,A,{get:t[A],enumerable:true})};var __copyProps=(e,t,A,n)=>{if(t&&typeof t==="object"||typeof t==="function"){for(let a of o(t))if(!i.call(e,a)&&a!==A)s(e,a,{get:()=>t[a],enumerable:!(n=r(t,a))||n.enumerable})}return e};var __toCommonJS=e=>__copyProps(s({},"__esModule",{value:true}),e);var n={};__export(n,{GraphqlResponseError:()=>u,graphql:()=>Q,withCustomRequest:()=>withCustomRequest});e.exports=__toCommonJS(n);var a=A(8576);var c=A(3843);var l="7.1.0";var g=A(8576);var h=A(8576);function _buildMessageForResponseErrors(e){return`Request failed due to following response errors:\n`+e.errors.map((e=>` - ${e.message}`)).join("\n")}var u=class extends Error{constructor(e,t,A){super(_buildMessageForResponseErrors(A));this.request=e;this.headers=t;this.response=A;this.name="GraphqlResponseError";this.errors=A.errors;this.data=A.data;if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}}};var E=["method","baseUrl","url","headers","request","query","mediaType"];var d=["query","method","url"];var p=/\/api\/v3\/?$/;function graphql(e,t,A){if(A){if(typeof t==="string"&&"query"in A){return Promise.reject(new Error(`[@octokit/graphql] "query" cannot be used as variable name`))}for(const e in A){if(!d.includes(e))continue;return Promise.reject(new Error(`[@octokit/graphql] "${e}" cannot be used as variable name`))}}const s=typeof t==="string"?Object.assign({query:t},A):t;const r=Object.keys(s).reduce(((e,t)=>{if(E.includes(t)){e[t]=s[t];return e}if(!e.variables){e.variables={}}e.variables[t]=s[t];return e}),{});const o=s.baseUrl||e.endpoint.DEFAULTS.baseUrl;if(p.test(o)){r.url=o.replace(p,"/api/graphql")}return e(r).then((e=>{if(e.data.errors){const t={};for(const A of Object.keys(e.headers)){t[A]=e.headers[A]}throw new u(r,t,e.data)}return e.data.data}))}function withDefaults(e,t){const A=e.defaults(t);const newApi=(e,t)=>graphql(A,e,t);return Object.assign(newApi,{defaults:withDefaults.bind(null,A),endpoint:A.endpoint})}var Q=withDefaults(a.request,{headers:{"user-agent":`octokit-graphql.js/${l} ${(0,c.getUserAgent)()}`},method:"POST",url:"/graphql"});function withCustomRequest(e){return withDefaults(e,{method:"POST",url:"/graphql"})}0&&0},7731:e=>{"use strict";var t=Object.defineProperty;var A=Object.getOwnPropertyDescriptor;var s=Object.getOwnPropertyNames;var r=Object.prototype.hasOwnProperty;var __export=(e,A)=>{for(var s in A)t(e,s,{get:A[s],enumerable:true})};var __copyProps=(e,o,i,n)=>{if(o&&typeof o==="object"||typeof o==="function"){for(let a of s(o))if(!r.call(e,a)&&a!==i)t(e,a,{get:()=>o[a],enumerable:!(n=A(o,a))||n.enumerable})}return e};var __toCommonJS=e=>__copyProps(t({},"__esModule",{value:true}),e);var o={};__export(o,{composePaginateRest:()=>n,isPaginatingEndpoint:()=>isPaginatingEndpoint,paginateRest:()=>paginateRest,paginatingEndpoints:()=>a});e.exports=__toCommonJS(o);var i="9.2.1";function normalizePaginatedListResponse(e){if(!e.data){return{...e,data:[]}}const t="total_count"in e.data&&!("url"in e.data);if(!t)return e;const A=e.data.incomplete_results;const s=e.data.repository_selection;const r=e.data.total_count;delete e.data.incomplete_results;delete e.data.repository_selection;delete e.data.total_count;const o=Object.keys(e.data)[0];const i=e.data[o];e.data=i;if(typeof A!=="undefined"){e.data.incomplete_results=A}if(typeof s!=="undefined"){e.data.repository_selection=s}e.data.total_count=r;return e}function iterator(e,t,A){const s=typeof t==="function"?t.endpoint(A):e.request.endpoint(t,A);const r=typeof t==="function"?t:e.request;const o=s.method;const i=s.headers;let n=s.url;return{[Symbol.asyncIterator]:()=>({async next(){if(!n)return{done:true};try{const e=await r({method:o,url:n,headers:i});const t=normalizePaginatedListResponse(e);n=((t.headers.link||"").match(/<([^>]+)>;\s*rel="next"/)||[])[1];return{value:t}}catch(e){if(e.status!==409)throw e;n="";return{value:{status:200,headers:{},data:[]}}}}})}}function paginate(e,t,A,s){if(typeof A==="function"){s=A;A=void 0}return gather(e,[],iterator(e,t,A)[Symbol.asyncIterator](),s)}function gather(e,t,A,s){return A.next().then((r=>{if(r.done){return t}let o=false;function done(){o=true}t=t.concat(s?s(r.value,done):r.value.data);if(o){return t}return gather(e,t,A,s)}))}var n=Object.assign(paginate,{iterator:iterator});var a=["GET /advisories","GET /app/hook/deliveries","GET /app/installation-requests","GET /app/installations","GET /assignments/{assignment_id}/accepted_assignments","GET /classrooms","GET /classrooms/{classroom_id}/assignments","GET /enterprises/{enterprise}/dependabot/alerts","GET /enterprises/{enterprise}/secret-scanning/alerts","GET /events","GET /gists","GET /gists/public","GET /gists/starred","GET /gists/{gist_id}/comments","GET /gists/{gist_id}/commits","GET /gists/{gist_id}/forks","GET /installation/repositories","GET /issues","GET /licenses","GET /marketplace_listing/plans","GET /marketplace_listing/plans/{plan_id}/accounts","GET /marketplace_listing/stubbed/plans","GET /marketplace_listing/stubbed/plans/{plan_id}/accounts","GET /networks/{owner}/{repo}/events","GET /notifications","GET /organizations","GET /orgs/{org}/actions/cache/usage-by-repository","GET /orgs/{org}/actions/permissions/repositories","GET /orgs/{org}/actions/runners","GET /orgs/{org}/actions/secrets","GET /orgs/{org}/actions/secrets/{secret_name}/repositories","GET /orgs/{org}/actions/variables","GET /orgs/{org}/actions/variables/{name}/repositories","GET /orgs/{org}/blocks","GET /orgs/{org}/code-scanning/alerts","GET /orgs/{org}/codespaces","GET /orgs/{org}/codespaces/secrets","GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories","GET /orgs/{org}/copilot/billing/seats","GET /orgs/{org}/dependabot/alerts","GET /orgs/{org}/dependabot/secrets","GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories","GET /orgs/{org}/events","GET /orgs/{org}/failed_invitations","GET /orgs/{org}/hooks","GET /orgs/{org}/hooks/{hook_id}/deliveries","GET /orgs/{org}/installations","GET /orgs/{org}/invitations","GET /orgs/{org}/invitations/{invitation_id}/teams","GET /orgs/{org}/issues","GET /orgs/{org}/members","GET /orgs/{org}/members/{username}/codespaces","GET /orgs/{org}/migrations","GET /orgs/{org}/migrations/{migration_id}/repositories","GET /orgs/{org}/organization-roles/{role_id}/teams","GET /orgs/{org}/organization-roles/{role_id}/users","GET /orgs/{org}/outside_collaborators","GET /orgs/{org}/packages","GET /orgs/{org}/packages/{package_type}/{package_name}/versions","GET /orgs/{org}/personal-access-token-requests","GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories","GET /orgs/{org}/personal-access-tokens","GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories","GET /orgs/{org}/projects","GET /orgs/{org}/properties/values","GET /orgs/{org}/public_members","GET /orgs/{org}/repos","GET /orgs/{org}/rulesets","GET /orgs/{org}/rulesets/rule-suites","GET /orgs/{org}/secret-scanning/alerts","GET /orgs/{org}/security-advisories","GET /orgs/{org}/teams","GET /orgs/{org}/teams/{team_slug}/discussions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions","GET /orgs/{org}/teams/{team_slug}/invitations","GET /orgs/{org}/teams/{team_slug}/members","GET /orgs/{org}/teams/{team_slug}/projects","GET /orgs/{org}/teams/{team_slug}/repos","GET /orgs/{org}/teams/{team_slug}/teams","GET /projects/columns/{column_id}/cards","GET /projects/{project_id}/collaborators","GET /projects/{project_id}/columns","GET /repos/{owner}/{repo}/actions/artifacts","GET /repos/{owner}/{repo}/actions/caches","GET /repos/{owner}/{repo}/actions/organization-secrets","GET /repos/{owner}/{repo}/actions/organization-variables","GET /repos/{owner}/{repo}/actions/runners","GET /repos/{owner}/{repo}/actions/runs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts","GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs","GET /repos/{owner}/{repo}/actions/secrets","GET /repos/{owner}/{repo}/actions/variables","GET /repos/{owner}/{repo}/actions/workflows","GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs","GET /repos/{owner}/{repo}/activity","GET /repos/{owner}/{repo}/assignees","GET /repos/{owner}/{repo}/branches","GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations","GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs","GET /repos/{owner}/{repo}/code-scanning/alerts","GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances","GET /repos/{owner}/{repo}/code-scanning/analyses","GET /repos/{owner}/{repo}/codespaces","GET /repos/{owner}/{repo}/codespaces/devcontainers","GET /repos/{owner}/{repo}/codespaces/secrets","GET /repos/{owner}/{repo}/collaborators","GET /repos/{owner}/{repo}/comments","GET /repos/{owner}/{repo}/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/commits","GET /repos/{owner}/{repo}/commits/{commit_sha}/comments","GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls","GET /repos/{owner}/{repo}/commits/{ref}/check-runs","GET /repos/{owner}/{repo}/commits/{ref}/check-suites","GET /repos/{owner}/{repo}/commits/{ref}/status","GET /repos/{owner}/{repo}/commits/{ref}/statuses","GET /repos/{owner}/{repo}/contributors","GET /repos/{owner}/{repo}/dependabot/alerts","GET /repos/{owner}/{repo}/dependabot/secrets","GET /repos/{owner}/{repo}/deployments","GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses","GET /repos/{owner}/{repo}/environments","GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies","GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps","GET /repos/{owner}/{repo}/events","GET /repos/{owner}/{repo}/forks","GET /repos/{owner}/{repo}/hooks","GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries","GET /repos/{owner}/{repo}/invitations","GET /repos/{owner}/{repo}/issues","GET /repos/{owner}/{repo}/issues/comments","GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/issues/events","GET /repos/{owner}/{repo}/issues/{issue_number}/comments","GET /repos/{owner}/{repo}/issues/{issue_number}/events","GET /repos/{owner}/{repo}/issues/{issue_number}/labels","GET /repos/{owner}/{repo}/issues/{issue_number}/reactions","GET /repos/{owner}/{repo}/issues/{issue_number}/timeline","GET /repos/{owner}/{repo}/keys","GET /repos/{owner}/{repo}/labels","GET /repos/{owner}/{repo}/milestones","GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels","GET /repos/{owner}/{repo}/notifications","GET /repos/{owner}/{repo}/pages/builds","GET /repos/{owner}/{repo}/projects","GET /repos/{owner}/{repo}/pulls","GET /repos/{owner}/{repo}/pulls/comments","GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/pulls/{pull_number}/comments","GET /repos/{owner}/{repo}/pulls/{pull_number}/commits","GET /repos/{owner}/{repo}/pulls/{pull_number}/files","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments","GET /repos/{owner}/{repo}/releases","GET /repos/{owner}/{repo}/releases/{release_id}/assets","GET /repos/{owner}/{repo}/releases/{release_id}/reactions","GET /repos/{owner}/{repo}/rules/branches/{branch}","GET /repos/{owner}/{repo}/rulesets","GET /repos/{owner}/{repo}/rulesets/rule-suites","GET /repos/{owner}/{repo}/secret-scanning/alerts","GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations","GET /repos/{owner}/{repo}/security-advisories","GET /repos/{owner}/{repo}/stargazers","GET /repos/{owner}/{repo}/subscribers","GET /repos/{owner}/{repo}/tags","GET /repos/{owner}/{repo}/teams","GET /repos/{owner}/{repo}/topics","GET /repositories","GET /repositories/{repository_id}/environments/{environment_name}/secrets","GET /repositories/{repository_id}/environments/{environment_name}/variables","GET /search/code","GET /search/commits","GET /search/issues","GET /search/labels","GET /search/repositories","GET /search/topics","GET /search/users","GET /teams/{team_id}/discussions","GET /teams/{team_id}/discussions/{discussion_number}/comments","GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /teams/{team_id}/discussions/{discussion_number}/reactions","GET /teams/{team_id}/invitations","GET /teams/{team_id}/members","GET /teams/{team_id}/projects","GET /teams/{team_id}/repos","GET /teams/{team_id}/teams","GET /user/blocks","GET /user/codespaces","GET /user/codespaces/secrets","GET /user/emails","GET /user/followers","GET /user/following","GET /user/gpg_keys","GET /user/installations","GET /user/installations/{installation_id}/repositories","GET /user/issues","GET /user/keys","GET /user/marketplace_purchases","GET /user/marketplace_purchases/stubbed","GET /user/memberships/orgs","GET /user/migrations","GET /user/migrations/{migration_id}/repositories","GET /user/orgs","GET /user/packages","GET /user/packages/{package_type}/{package_name}/versions","GET /user/public_emails","GET /user/repos","GET /user/repository_invitations","GET /user/social_accounts","GET /user/ssh_signing_keys","GET /user/starred","GET /user/subscriptions","GET /user/teams","GET /users","GET /users/{username}/events","GET /users/{username}/events/orgs/{org}","GET /users/{username}/events/public","GET /users/{username}/followers","GET /users/{username}/following","GET /users/{username}/gists","GET /users/{username}/gpg_keys","GET /users/{username}/keys","GET /users/{username}/orgs","GET /users/{username}/packages","GET /users/{username}/projects","GET /users/{username}/received_events","GET /users/{username}/received_events/public","GET /users/{username}/repos","GET /users/{username}/social_accounts","GET /users/{username}/ssh_signing_keys","GET /users/{username}/starred","GET /users/{username}/subscriptions"];function isPaginatingEndpoint(e){if(typeof e==="string"){return a.includes(e)}else{return false}}function paginateRest(e){return{paginate:Object.assign(paginate.bind(null,e),{iterator:iterator.bind(null,e)})}}paginateRest.VERSION=i;0&&0},5726:e=>{"use strict";var t=Object.defineProperty;var A=Object.getOwnPropertyDescriptor;var s=Object.getOwnPropertyNames;var r=Object.prototype.hasOwnProperty;var __export=(e,A)=>{for(var s in A)t(e,s,{get:A[s],enumerable:true})};var __copyProps=(e,o,i,n)=>{if(o&&typeof o==="object"||typeof o==="function"){for(let a of s(o))if(!r.call(e,a)&&a!==i)t(e,a,{get:()=>o[a],enumerable:!(n=A(o,a))||n.enumerable})}return e};var __toCommonJS=e=>__copyProps(t({},"__esModule",{value:true}),e);var o={};__export(o,{legacyRestEndpointMethods:()=>legacyRestEndpointMethods,restEndpointMethods:()=>restEndpointMethods});e.exports=__toCommonJS(o);var i="10.4.1";var n={actions:{addCustomLabelsToSelfHostedRunnerForOrg:["POST /orgs/{org}/actions/runners/{runner_id}/labels"],addCustomLabelsToSelfHostedRunnerForRepo:["POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"],addSelectedRepoToOrgSecret:["PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"],addSelectedRepoToOrgVariable:["PUT /orgs/{org}/actions/variables/{name}/repositories/{repository_id}"],approveWorkflowRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve"],cancelWorkflowRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel"],createEnvironmentVariable:["POST /repositories/{repository_id}/environments/{environment_name}/variables"],createOrUpdateEnvironmentSecret:["PUT /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}"],createOrUpdateOrgSecret:["PUT /orgs/{org}/actions/secrets/{secret_name}"],createOrUpdateRepoSecret:["PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}"],createOrgVariable:["POST /orgs/{org}/actions/variables"],createRegistrationTokenForOrg:["POST /orgs/{org}/actions/runners/registration-token"],createRegistrationTokenForRepo:["POST /repos/{owner}/{repo}/actions/runners/registration-token"],createRemoveTokenForOrg:["POST /orgs/{org}/actions/runners/remove-token"],createRemoveTokenForRepo:["POST /repos/{owner}/{repo}/actions/runners/remove-token"],createRepoVariable:["POST /repos/{owner}/{repo}/actions/variables"],createWorkflowDispatch:["POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches"],deleteActionsCacheById:["DELETE /repos/{owner}/{repo}/actions/caches/{cache_id}"],deleteActionsCacheByKey:["DELETE /repos/{owner}/{repo}/actions/caches{?key,ref}"],deleteArtifact:["DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"],deleteEnvironmentSecret:["DELETE /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}"],deleteEnvironmentVariable:["DELETE /repositories/{repository_id}/environments/{environment_name}/variables/{name}"],deleteOrgSecret:["DELETE /orgs/{org}/actions/secrets/{secret_name}"],deleteOrgVariable:["DELETE /orgs/{org}/actions/variables/{name}"],deleteRepoSecret:["DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}"],deleteRepoVariable:["DELETE /repos/{owner}/{repo}/actions/variables/{name}"],deleteSelfHostedRunnerFromOrg:["DELETE /orgs/{org}/actions/runners/{runner_id}"],deleteSelfHostedRunnerFromRepo:["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}"],deleteWorkflowRun:["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}"],deleteWorkflowRunLogs:["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs"],disableSelectedRepositoryGithubActionsOrganization:["DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}"],disableWorkflow:["PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable"],downloadArtifact:["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}"],downloadJobLogsForWorkflowRun:["GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs"],downloadWorkflowRunAttemptLogs:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs"],downloadWorkflowRunLogs:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs"],enableSelectedRepositoryGithubActionsOrganization:["PUT /orgs/{org}/actions/permissions/repositories/{repository_id}"],enableWorkflow:["PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable"],forceCancelWorkflowRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/force-cancel"],generateRunnerJitconfigForOrg:["POST /orgs/{org}/actions/runners/generate-jitconfig"],generateRunnerJitconfigForRepo:["POST /repos/{owner}/{repo}/actions/runners/generate-jitconfig"],getActionsCacheList:["GET /repos/{owner}/{repo}/actions/caches"],getActionsCacheUsage:["GET /repos/{owner}/{repo}/actions/cache/usage"],getActionsCacheUsageByRepoForOrg:["GET /orgs/{org}/actions/cache/usage-by-repository"],getActionsCacheUsageForOrg:["GET /orgs/{org}/actions/cache/usage"],getAllowedActionsOrganization:["GET /orgs/{org}/actions/permissions/selected-actions"],getAllowedActionsRepository:["GET /repos/{owner}/{repo}/actions/permissions/selected-actions"],getArtifact:["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"],getCustomOidcSubClaimForRepo:["GET /repos/{owner}/{repo}/actions/oidc/customization/sub"],getEnvironmentPublicKey:["GET /repositories/{repository_id}/environments/{environment_name}/secrets/public-key"],getEnvironmentSecret:["GET /repositories/{repository_id}/environments/{environment_name}/secrets/{secret_name}"],getEnvironmentVariable:["GET /repositories/{repository_id}/environments/{environment_name}/variables/{name}"],getGithubActionsDefaultWorkflowPermissionsOrganization:["GET /orgs/{org}/actions/permissions/workflow"],getGithubActionsDefaultWorkflowPermissionsRepository:["GET /repos/{owner}/{repo}/actions/permissions/workflow"],getGithubActionsPermissionsOrganization:["GET /orgs/{org}/actions/permissions"],getGithubActionsPermissionsRepository:["GET /repos/{owner}/{repo}/actions/permissions"],getJobForWorkflowRun:["GET /repos/{owner}/{repo}/actions/jobs/{job_id}"],getOrgPublicKey:["GET /orgs/{org}/actions/secrets/public-key"],getOrgSecret:["GET /orgs/{org}/actions/secrets/{secret_name}"],getOrgVariable:["GET /orgs/{org}/actions/variables/{name}"],getPendingDeploymentsForRun:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"],getRepoPermissions:["GET /repos/{owner}/{repo}/actions/permissions",{},{renamed:["actions","getGithubActionsPermissionsRepository"]}],getRepoPublicKey:["GET /repos/{owner}/{repo}/actions/secrets/public-key"],getRepoSecret:["GET /repos/{owner}/{repo}/actions/secrets/{secret_name}"],getRepoVariable:["GET /repos/{owner}/{repo}/actions/variables/{name}"],getReviewsForRun:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals"],getSelfHostedRunnerForOrg:["GET /orgs/{org}/actions/runners/{runner_id}"],getSelfHostedRunnerForRepo:["GET /repos/{owner}/{repo}/actions/runners/{runner_id}"],getWorkflow:["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}"],getWorkflowAccessToRepository:["GET /repos/{owner}/{repo}/actions/permissions/access"],getWorkflowRun:["GET /repos/{owner}/{repo}/actions/runs/{run_id}"],getWorkflowRunAttempt:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}"],getWorkflowRunUsage:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing"],getWorkflowUsage:["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing"],listArtifactsForRepo:["GET /repos/{owner}/{repo}/actions/artifacts"],listEnvironmentSecrets:["GET /repositories/{repository_id}/environments/{environment_name}/secrets"],listEnvironmentVariables:["GET /repositories/{repository_id}/environments/{environment_name}/variables"],listJobsForWorkflowRun:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs"],listJobsForWorkflowRunAttempt:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs"],listLabelsForSelfHostedRunnerForOrg:["GET /orgs/{org}/actions/runners/{runner_id}/labels"],listLabelsForSelfHostedRunnerForRepo:["GET /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"],listOrgSecrets:["GET /orgs/{org}/actions/secrets"],listOrgVariables:["GET /orgs/{org}/actions/variables"],listRepoOrganizationSecrets:["GET /repos/{owner}/{repo}/actions/organization-secrets"],listRepoOrganizationVariables:["GET /repos/{owner}/{repo}/actions/organization-variables"],listRepoSecrets:["GET /repos/{owner}/{repo}/actions/secrets"],listRepoVariables:["GET /repos/{owner}/{repo}/actions/variables"],listRepoWorkflows:["GET /repos/{owner}/{repo}/actions/workflows"],listRunnerApplicationsForOrg:["GET /orgs/{org}/actions/runners/downloads"],listRunnerApplicationsForRepo:["GET /repos/{owner}/{repo}/actions/runners/downloads"],listSelectedReposForOrgSecret:["GET /orgs/{org}/actions/secrets/{secret_name}/repositories"],listSelectedReposForOrgVariable:["GET /orgs/{org}/actions/variables/{name}/repositories"],listSelectedRepositoriesEnabledGithubActionsOrganization:["GET /orgs/{org}/actions/permissions/repositories"],listSelfHostedRunnersForOrg:["GET /orgs/{org}/actions/runners"],listSelfHostedRunnersForRepo:["GET /repos/{owner}/{repo}/actions/runners"],listWorkflowRunArtifacts:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts"],listWorkflowRuns:["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs"],listWorkflowRunsForRepo:["GET /repos/{owner}/{repo}/actions/runs"],reRunJobForWorkflowRun:["POST /repos/{owner}/{repo}/actions/jobs/{job_id}/rerun"],reRunWorkflow:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun"],reRunWorkflowFailedJobs:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs"],removeAllCustomLabelsFromSelfHostedRunnerForOrg:["DELETE /orgs/{org}/actions/runners/{runner_id}/labels"],removeAllCustomLabelsFromSelfHostedRunnerForRepo:["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"],removeCustomLabelFromSelfHostedRunnerForOrg:["DELETE /orgs/{org}/actions/runners/{runner_id}/labels/{name}"],removeCustomLabelFromSelfHostedRunnerForRepo:["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}"],removeSelectedRepoFromOrgSecret:["DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"],removeSelectedRepoFromOrgVariable:["DELETE /orgs/{org}/actions/variables/{name}/repositories/{repository_id}"],reviewCustomGatesForRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/deployment_protection_rule"],reviewPendingDeploymentsForRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"],setAllowedActionsOrganization:["PUT /orgs/{org}/actions/permissions/selected-actions"],setAllowedActionsRepository:["PUT /repos/{owner}/{repo}/actions/permissions/selected-actions"],setCustomLabelsForSelfHostedRunnerForOrg:["PUT /orgs/{org}/actions/runners/{runner_id}/labels"],setCustomLabelsForSelfHostedRunnerForRepo:["PUT /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"],setCustomOidcSubClaimForRepo:["PUT /repos/{owner}/{repo}/actions/oidc/customization/sub"],setGithubActionsDefaultWorkflowPermissionsOrganization:["PUT /orgs/{org}/actions/permissions/workflow"],setGithubActionsDefaultWorkflowPermissionsRepository:["PUT /repos/{owner}/{repo}/actions/permissions/workflow"],setGithubActionsPermissionsOrganization:["PUT /orgs/{org}/actions/permissions"],setGithubActionsPermissionsRepository:["PUT /repos/{owner}/{repo}/actions/permissions"],setSelectedReposForOrgSecret:["PUT /orgs/{org}/actions/secrets/{secret_name}/repositories"],setSelectedReposForOrgVariable:["PUT /orgs/{org}/actions/variables/{name}/repositories"],setSelectedRepositoriesEnabledGithubActionsOrganization:["PUT /orgs/{org}/actions/permissions/repositories"],setWorkflowAccessToRepository:["PUT /repos/{owner}/{repo}/actions/permissions/access"],updateEnvironmentVariable:["PATCH /repositories/{repository_id}/environments/{environment_name}/variables/{name}"],updateOrgVariable:["PATCH /orgs/{org}/actions/variables/{name}"],updateRepoVariable:["PATCH /repos/{owner}/{repo}/actions/variables/{name}"]},activity:{checkRepoIsStarredByAuthenticatedUser:["GET /user/starred/{owner}/{repo}"],deleteRepoSubscription:["DELETE /repos/{owner}/{repo}/subscription"],deleteThreadSubscription:["DELETE /notifications/threads/{thread_id}/subscription"],getFeeds:["GET /feeds"],getRepoSubscription:["GET /repos/{owner}/{repo}/subscription"],getThread:["GET /notifications/threads/{thread_id}"],getThreadSubscriptionForAuthenticatedUser:["GET /notifications/threads/{thread_id}/subscription"],listEventsForAuthenticatedUser:["GET /users/{username}/events"],listNotificationsForAuthenticatedUser:["GET /notifications"],listOrgEventsForAuthenticatedUser:["GET /users/{username}/events/orgs/{org}"],listPublicEvents:["GET /events"],listPublicEventsForRepoNetwork:["GET /networks/{owner}/{repo}/events"],listPublicEventsForUser:["GET /users/{username}/events/public"],listPublicOrgEvents:["GET /orgs/{org}/events"],listReceivedEventsForUser:["GET /users/{username}/received_events"],listReceivedPublicEventsForUser:["GET /users/{username}/received_events/public"],listRepoEvents:["GET /repos/{owner}/{repo}/events"],listRepoNotificationsForAuthenticatedUser:["GET /repos/{owner}/{repo}/notifications"],listReposStarredByAuthenticatedUser:["GET /user/starred"],listReposStarredByUser:["GET /users/{username}/starred"],listReposWatchedByUser:["GET /users/{username}/subscriptions"],listStargazersForRepo:["GET /repos/{owner}/{repo}/stargazers"],listWatchedReposForAuthenticatedUser:["GET /user/subscriptions"],listWatchersForRepo:["GET /repos/{owner}/{repo}/subscribers"],markNotificationsAsRead:["PUT /notifications"],markRepoNotificationsAsRead:["PUT /repos/{owner}/{repo}/notifications"],markThreadAsDone:["DELETE /notifications/threads/{thread_id}"],markThreadAsRead:["PATCH /notifications/threads/{thread_id}"],setRepoSubscription:["PUT /repos/{owner}/{repo}/subscription"],setThreadSubscription:["PUT /notifications/threads/{thread_id}/subscription"],starRepoForAuthenticatedUser:["PUT /user/starred/{owner}/{repo}"],unstarRepoForAuthenticatedUser:["DELETE /user/starred/{owner}/{repo}"]},apps:{addRepoToInstallation:["PUT /user/installations/{installation_id}/repositories/{repository_id}",{},{renamed:["apps","addRepoToInstallationForAuthenticatedUser"]}],addRepoToInstallationForAuthenticatedUser:["PUT /user/installations/{installation_id}/repositories/{repository_id}"],checkToken:["POST /applications/{client_id}/token"],createFromManifest:["POST /app-manifests/{code}/conversions"],createInstallationAccessToken:["POST /app/installations/{installation_id}/access_tokens"],deleteAuthorization:["DELETE /applications/{client_id}/grant"],deleteInstallation:["DELETE /app/installations/{installation_id}"],deleteToken:["DELETE /applications/{client_id}/token"],getAuthenticated:["GET /app"],getBySlug:["GET /apps/{app_slug}"],getInstallation:["GET /app/installations/{installation_id}"],getOrgInstallation:["GET /orgs/{org}/installation"],getRepoInstallation:["GET /repos/{owner}/{repo}/installation"],getSubscriptionPlanForAccount:["GET /marketplace_listing/accounts/{account_id}"],getSubscriptionPlanForAccountStubbed:["GET /marketplace_listing/stubbed/accounts/{account_id}"],getUserInstallation:["GET /users/{username}/installation"],getWebhookConfigForApp:["GET /app/hook/config"],getWebhookDelivery:["GET /app/hook/deliveries/{delivery_id}"],listAccountsForPlan:["GET /marketplace_listing/plans/{plan_id}/accounts"],listAccountsForPlanStubbed:["GET /marketplace_listing/stubbed/plans/{plan_id}/accounts"],listInstallationReposForAuthenticatedUser:["GET /user/installations/{installation_id}/repositories"],listInstallationRequestsForAuthenticatedApp:["GET /app/installation-requests"],listInstallations:["GET /app/installations"],listInstallationsForAuthenticatedUser:["GET /user/installations"],listPlans:["GET /marketplace_listing/plans"],listPlansStubbed:["GET /marketplace_listing/stubbed/plans"],listReposAccessibleToInstallation:["GET /installation/repositories"],listSubscriptionsForAuthenticatedUser:["GET /user/marketplace_purchases"],listSubscriptionsForAuthenticatedUserStubbed:["GET /user/marketplace_purchases/stubbed"],listWebhookDeliveries:["GET /app/hook/deliveries"],redeliverWebhookDelivery:["POST /app/hook/deliveries/{delivery_id}/attempts"],removeRepoFromInstallation:["DELETE /user/installations/{installation_id}/repositories/{repository_id}",{},{renamed:["apps","removeRepoFromInstallationForAuthenticatedUser"]}],removeRepoFromInstallationForAuthenticatedUser:["DELETE /user/installations/{installation_id}/repositories/{repository_id}"],resetToken:["PATCH /applications/{client_id}/token"],revokeInstallationAccessToken:["DELETE /installation/token"],scopeToken:["POST /applications/{client_id}/token/scoped"],suspendInstallation:["PUT /app/installations/{installation_id}/suspended"],unsuspendInstallation:["DELETE /app/installations/{installation_id}/suspended"],updateWebhookConfigForApp:["PATCH /app/hook/config"]},billing:{getGithubActionsBillingOrg:["GET /orgs/{org}/settings/billing/actions"],getGithubActionsBillingUser:["GET /users/{username}/settings/billing/actions"],getGithubPackagesBillingOrg:["GET /orgs/{org}/settings/billing/packages"],getGithubPackagesBillingUser:["GET /users/{username}/settings/billing/packages"],getSharedStorageBillingOrg:["GET /orgs/{org}/settings/billing/shared-storage"],getSharedStorageBillingUser:["GET /users/{username}/settings/billing/shared-storage"]},checks:{create:["POST /repos/{owner}/{repo}/check-runs"],createSuite:["POST /repos/{owner}/{repo}/check-suites"],get:["GET /repos/{owner}/{repo}/check-runs/{check_run_id}"],getSuite:["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}"],listAnnotations:["GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations"],listForRef:["GET /repos/{owner}/{repo}/commits/{ref}/check-runs"],listForSuite:["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs"],listSuitesForRef:["GET /repos/{owner}/{repo}/commits/{ref}/check-suites"],rerequestRun:["POST /repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest"],rerequestSuite:["POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest"],setSuitesPreferences:["PATCH /repos/{owner}/{repo}/check-suites/preferences"],update:["PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}"]},codeScanning:{deleteAnalysis:["DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}"],getAlert:["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}",{},{renamedParameters:{alert_id:"alert_number"}}],getAnalysis:["GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}"],getCodeqlDatabase:["GET /repos/{owner}/{repo}/code-scanning/codeql/databases/{language}"],getDefaultSetup:["GET /repos/{owner}/{repo}/code-scanning/default-setup"],getSarif:["GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}"],listAlertInstances:["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances"],listAlertsForOrg:["GET /orgs/{org}/code-scanning/alerts"],listAlertsForRepo:["GET /repos/{owner}/{repo}/code-scanning/alerts"],listAlertsInstances:["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances",{},{renamed:["codeScanning","listAlertInstances"]}],listCodeqlDatabases:["GET /repos/{owner}/{repo}/code-scanning/codeql/databases"],listRecentAnalyses:["GET /repos/{owner}/{repo}/code-scanning/analyses"],updateAlert:["PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}"],updateDefaultSetup:["PATCH /repos/{owner}/{repo}/code-scanning/default-setup"],uploadSarif:["POST /repos/{owner}/{repo}/code-scanning/sarifs"]},codesOfConduct:{getAllCodesOfConduct:["GET /codes_of_conduct"],getConductCode:["GET /codes_of_conduct/{key}"]},codespaces:{addRepositoryForSecretForAuthenticatedUser:["PUT /user/codespaces/secrets/{secret_name}/repositories/{repository_id}"],addSelectedRepoToOrgSecret:["PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}"],checkPermissionsForDevcontainer:["GET /repos/{owner}/{repo}/codespaces/permissions_check"],codespaceMachinesForAuthenticatedUser:["GET /user/codespaces/{codespace_name}/machines"],createForAuthenticatedUser:["POST /user/codespaces"],createOrUpdateOrgSecret:["PUT /orgs/{org}/codespaces/secrets/{secret_name}"],createOrUpdateRepoSecret:["PUT /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"],createOrUpdateSecretForAuthenticatedUser:["PUT /user/codespaces/secrets/{secret_name}"],createWithPrForAuthenticatedUser:["POST /repos/{owner}/{repo}/pulls/{pull_number}/codespaces"],createWithRepoForAuthenticatedUser:["POST /repos/{owner}/{repo}/codespaces"],deleteForAuthenticatedUser:["DELETE /user/codespaces/{codespace_name}"],deleteFromOrganization:["DELETE /orgs/{org}/members/{username}/codespaces/{codespace_name}"],deleteOrgSecret:["DELETE /orgs/{org}/codespaces/secrets/{secret_name}"],deleteRepoSecret:["DELETE /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"],deleteSecretForAuthenticatedUser:["DELETE /user/codespaces/secrets/{secret_name}"],exportForAuthenticatedUser:["POST /user/codespaces/{codespace_name}/exports"],getCodespacesForUserInOrg:["GET /orgs/{org}/members/{username}/codespaces"],getExportDetailsForAuthenticatedUser:["GET /user/codespaces/{codespace_name}/exports/{export_id}"],getForAuthenticatedUser:["GET /user/codespaces/{codespace_name}"],getOrgPublicKey:["GET /orgs/{org}/codespaces/secrets/public-key"],getOrgSecret:["GET /orgs/{org}/codespaces/secrets/{secret_name}"],getPublicKeyForAuthenticatedUser:["GET /user/codespaces/secrets/public-key"],getRepoPublicKey:["GET /repos/{owner}/{repo}/codespaces/secrets/public-key"],getRepoSecret:["GET /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"],getSecretForAuthenticatedUser:["GET /user/codespaces/secrets/{secret_name}"],listDevcontainersInRepositoryForAuthenticatedUser:["GET /repos/{owner}/{repo}/codespaces/devcontainers"],listForAuthenticatedUser:["GET /user/codespaces"],listInOrganization:["GET /orgs/{org}/codespaces",{},{renamedParameters:{org_id:"org"}}],listInRepositoryForAuthenticatedUser:["GET /repos/{owner}/{repo}/codespaces"],listOrgSecrets:["GET /orgs/{org}/codespaces/secrets"],listRepoSecrets:["GET /repos/{owner}/{repo}/codespaces/secrets"],listRepositoriesForSecretForAuthenticatedUser:["GET /user/codespaces/secrets/{secret_name}/repositories"],listSecretsForAuthenticatedUser:["GET /user/codespaces/secrets"],listSelectedReposForOrgSecret:["GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories"],preFlightWithRepoForAuthenticatedUser:["GET /repos/{owner}/{repo}/codespaces/new"],publishForAuthenticatedUser:["POST /user/codespaces/{codespace_name}/publish"],removeRepositoryForSecretForAuthenticatedUser:["DELETE /user/codespaces/secrets/{secret_name}/repositories/{repository_id}"],removeSelectedRepoFromOrgSecret:["DELETE /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}"],repoMachinesForAuthenticatedUser:["GET /repos/{owner}/{repo}/codespaces/machines"],setRepositoriesForSecretForAuthenticatedUser:["PUT /user/codespaces/secrets/{secret_name}/repositories"],setSelectedReposForOrgSecret:["PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories"],startForAuthenticatedUser:["POST /user/codespaces/{codespace_name}/start"],stopForAuthenticatedUser:["POST /user/codespaces/{codespace_name}/stop"],stopInOrganization:["POST /orgs/{org}/members/{username}/codespaces/{codespace_name}/stop"],updateForAuthenticatedUser:["PATCH /user/codespaces/{codespace_name}"]},copilot:{addCopilotSeatsForTeams:["POST /orgs/{org}/copilot/billing/selected_teams"],addCopilotSeatsForUsers:["POST /orgs/{org}/copilot/billing/selected_users"],cancelCopilotSeatAssignmentForTeams:["DELETE /orgs/{org}/copilot/billing/selected_teams"],cancelCopilotSeatAssignmentForUsers:["DELETE /orgs/{org}/copilot/billing/selected_users"],getCopilotOrganizationDetails:["GET /orgs/{org}/copilot/billing"],getCopilotSeatDetailsForUser:["GET /orgs/{org}/members/{username}/copilot"],listCopilotSeats:["GET /orgs/{org}/copilot/billing/seats"]},dependabot:{addSelectedRepoToOrgSecret:["PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}"],createOrUpdateOrgSecret:["PUT /orgs/{org}/dependabot/secrets/{secret_name}"],createOrUpdateRepoSecret:["PUT /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"],deleteOrgSecret:["DELETE /orgs/{org}/dependabot/secrets/{secret_name}"],deleteRepoSecret:["DELETE /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"],getAlert:["GET /repos/{owner}/{repo}/dependabot/alerts/{alert_number}"],getOrgPublicKey:["GET /orgs/{org}/dependabot/secrets/public-key"],getOrgSecret:["GET /orgs/{org}/dependabot/secrets/{secret_name}"],getRepoPublicKey:["GET /repos/{owner}/{repo}/dependabot/secrets/public-key"],getRepoSecret:["GET /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"],listAlertsForEnterprise:["GET /enterprises/{enterprise}/dependabot/alerts"],listAlertsForOrg:["GET /orgs/{org}/dependabot/alerts"],listAlertsForRepo:["GET /repos/{owner}/{repo}/dependabot/alerts"],listOrgSecrets:["GET /orgs/{org}/dependabot/secrets"],listRepoSecrets:["GET /repos/{owner}/{repo}/dependabot/secrets"],listSelectedReposForOrgSecret:["GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories"],removeSelectedRepoFromOrgSecret:["DELETE /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}"],setSelectedReposForOrgSecret:["PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories"],updateAlert:["PATCH /repos/{owner}/{repo}/dependabot/alerts/{alert_number}"]},dependencyGraph:{createRepositorySnapshot:["POST /repos/{owner}/{repo}/dependency-graph/snapshots"],diffRange:["GET /repos/{owner}/{repo}/dependency-graph/compare/{basehead}"],exportSbom:["GET /repos/{owner}/{repo}/dependency-graph/sbom"]},emojis:{get:["GET /emojis"]},gists:{checkIsStarred:["GET /gists/{gist_id}/star"],create:["POST /gists"],createComment:["POST /gists/{gist_id}/comments"],delete:["DELETE /gists/{gist_id}"],deleteComment:["DELETE /gists/{gist_id}/comments/{comment_id}"],fork:["POST /gists/{gist_id}/forks"],get:["GET /gists/{gist_id}"],getComment:["GET /gists/{gist_id}/comments/{comment_id}"],getRevision:["GET /gists/{gist_id}/{sha}"],list:["GET /gists"],listComments:["GET /gists/{gist_id}/comments"],listCommits:["GET /gists/{gist_id}/commits"],listForUser:["GET /users/{username}/gists"],listForks:["GET /gists/{gist_id}/forks"],listPublic:["GET /gists/public"],listStarred:["GET /gists/starred"],star:["PUT /gists/{gist_id}/star"],unstar:["DELETE /gists/{gist_id}/star"],update:["PATCH /gists/{gist_id}"],updateComment:["PATCH /gists/{gist_id}/comments/{comment_id}"]},git:{createBlob:["POST /repos/{owner}/{repo}/git/blobs"],createCommit:["POST /repos/{owner}/{repo}/git/commits"],createRef:["POST /repos/{owner}/{repo}/git/refs"],createTag:["POST /repos/{owner}/{repo}/git/tags"],createTree:["POST /repos/{owner}/{repo}/git/trees"],deleteRef:["DELETE /repos/{owner}/{repo}/git/refs/{ref}"],getBlob:["GET /repos/{owner}/{repo}/git/blobs/{file_sha}"],getCommit:["GET /repos/{owner}/{repo}/git/commits/{commit_sha}"],getRef:["GET /repos/{owner}/{repo}/git/ref/{ref}"],getTag:["GET /repos/{owner}/{repo}/git/tags/{tag_sha}"],getTree:["GET /repos/{owner}/{repo}/git/trees/{tree_sha}"],listMatchingRefs:["GET /repos/{owner}/{repo}/git/matching-refs/{ref}"],updateRef:["PATCH /repos/{owner}/{repo}/git/refs/{ref}"]},gitignore:{getAllTemplates:["GET /gitignore/templates"],getTemplate:["GET /gitignore/templates/{name}"]},interactions:{getRestrictionsForAuthenticatedUser:["GET /user/interaction-limits"],getRestrictionsForOrg:["GET /orgs/{org}/interaction-limits"],getRestrictionsForRepo:["GET /repos/{owner}/{repo}/interaction-limits"],getRestrictionsForYourPublicRepos:["GET /user/interaction-limits",{},{renamed:["interactions","getRestrictionsForAuthenticatedUser"]}],removeRestrictionsForAuthenticatedUser:["DELETE /user/interaction-limits"],removeRestrictionsForOrg:["DELETE /orgs/{org}/interaction-limits"],removeRestrictionsForRepo:["DELETE /repos/{owner}/{repo}/interaction-limits"],removeRestrictionsForYourPublicRepos:["DELETE /user/interaction-limits",{},{renamed:["interactions","removeRestrictionsForAuthenticatedUser"]}],setRestrictionsForAuthenticatedUser:["PUT /user/interaction-limits"],setRestrictionsForOrg:["PUT /orgs/{org}/interaction-limits"],setRestrictionsForRepo:["PUT /repos/{owner}/{repo}/interaction-limits"],setRestrictionsForYourPublicRepos:["PUT /user/interaction-limits",{},{renamed:["interactions","setRestrictionsForAuthenticatedUser"]}]},issues:{addAssignees:["POST /repos/{owner}/{repo}/issues/{issue_number}/assignees"],addLabels:["POST /repos/{owner}/{repo}/issues/{issue_number}/labels"],checkUserCanBeAssigned:["GET /repos/{owner}/{repo}/assignees/{assignee}"],checkUserCanBeAssignedToIssue:["GET /repos/{owner}/{repo}/issues/{issue_number}/assignees/{assignee}"],create:["POST /repos/{owner}/{repo}/issues"],createComment:["POST /repos/{owner}/{repo}/issues/{issue_number}/comments"],createLabel:["POST /repos/{owner}/{repo}/labels"],createMilestone:["POST /repos/{owner}/{repo}/milestones"],deleteComment:["DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}"],deleteLabel:["DELETE /repos/{owner}/{repo}/labels/{name}"],deleteMilestone:["DELETE /repos/{owner}/{repo}/milestones/{milestone_number}"],get:["GET /repos/{owner}/{repo}/issues/{issue_number}"],getComment:["GET /repos/{owner}/{repo}/issues/comments/{comment_id}"],getEvent:["GET /repos/{owner}/{repo}/issues/events/{event_id}"],getLabel:["GET /repos/{owner}/{repo}/labels/{name}"],getMilestone:["GET /repos/{owner}/{repo}/milestones/{milestone_number}"],list:["GET /issues"],listAssignees:["GET /repos/{owner}/{repo}/assignees"],listComments:["GET /repos/{owner}/{repo}/issues/{issue_number}/comments"],listCommentsForRepo:["GET /repos/{owner}/{repo}/issues/comments"],listEvents:["GET /repos/{owner}/{repo}/issues/{issue_number}/events"],listEventsForRepo:["GET /repos/{owner}/{repo}/issues/events"],listEventsForTimeline:["GET /repos/{owner}/{repo}/issues/{issue_number}/timeline"],listForAuthenticatedUser:["GET /user/issues"],listForOrg:["GET /orgs/{org}/issues"],listForRepo:["GET /repos/{owner}/{repo}/issues"],listLabelsForMilestone:["GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels"],listLabelsForRepo:["GET /repos/{owner}/{repo}/labels"],listLabelsOnIssue:["GET /repos/{owner}/{repo}/issues/{issue_number}/labels"],listMilestones:["GET /repos/{owner}/{repo}/milestones"],lock:["PUT /repos/{owner}/{repo}/issues/{issue_number}/lock"],removeAllLabels:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels"],removeAssignees:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees"],removeLabel:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}"],setLabels:["PUT /repos/{owner}/{repo}/issues/{issue_number}/labels"],unlock:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock"],update:["PATCH /repos/{owner}/{repo}/issues/{issue_number}"],updateComment:["PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}"],updateLabel:["PATCH /repos/{owner}/{repo}/labels/{name}"],updateMilestone:["PATCH /repos/{owner}/{repo}/milestones/{milestone_number}"]},licenses:{get:["GET /licenses/{license}"],getAllCommonlyUsed:["GET /licenses"],getForRepo:["GET /repos/{owner}/{repo}/license"]},markdown:{render:["POST /markdown"],renderRaw:["POST /markdown/raw",{headers:{"content-type":"text/plain; charset=utf-8"}}]},meta:{get:["GET /meta"],getAllVersions:["GET /versions"],getOctocat:["GET /octocat"],getZen:["GET /zen"],root:["GET /"]},migrations:{cancelImport:["DELETE /repos/{owner}/{repo}/import",{},{deprecated:"octokit.rest.migrations.cancelImport() is deprecated, see https://docs.github.com/rest/migrations/source-imports#cancel-an-import"}],deleteArchiveForAuthenticatedUser:["DELETE /user/migrations/{migration_id}/archive"],deleteArchiveForOrg:["DELETE /orgs/{org}/migrations/{migration_id}/archive"],downloadArchiveForOrg:["GET /orgs/{org}/migrations/{migration_id}/archive"],getArchiveForAuthenticatedUser:["GET /user/migrations/{migration_id}/archive"],getCommitAuthors:["GET /repos/{owner}/{repo}/import/authors",{},{deprecated:"octokit.rest.migrations.getCommitAuthors() is deprecated, see https://docs.github.com/rest/migrations/source-imports#get-commit-authors"}],getImportStatus:["GET /repos/{owner}/{repo}/import",{},{deprecated:"octokit.rest.migrations.getImportStatus() is deprecated, see https://docs.github.com/rest/migrations/source-imports#get-an-import-status"}],getLargeFiles:["GET /repos/{owner}/{repo}/import/large_files",{},{deprecated:"octokit.rest.migrations.getLargeFiles() is deprecated, see https://docs.github.com/rest/migrations/source-imports#get-large-files"}],getStatusForAuthenticatedUser:["GET /user/migrations/{migration_id}"],getStatusForOrg:["GET /orgs/{org}/migrations/{migration_id}"],listForAuthenticatedUser:["GET /user/migrations"],listForOrg:["GET /orgs/{org}/migrations"],listReposForAuthenticatedUser:["GET /user/migrations/{migration_id}/repositories"],listReposForOrg:["GET /orgs/{org}/migrations/{migration_id}/repositories"],listReposForUser:["GET /user/migrations/{migration_id}/repositories",{},{renamed:["migrations","listReposForAuthenticatedUser"]}],mapCommitAuthor:["PATCH /repos/{owner}/{repo}/import/authors/{author_id}",{},{deprecated:"octokit.rest.migrations.mapCommitAuthor() is deprecated, see https://docs.github.com/rest/migrations/source-imports#map-a-commit-author"}],setLfsPreference:["PATCH /repos/{owner}/{repo}/import/lfs",{},{deprecated:"octokit.rest.migrations.setLfsPreference() is deprecated, see https://docs.github.com/rest/migrations/source-imports#update-git-lfs-preference"}],startForAuthenticatedUser:["POST /user/migrations"],startForOrg:["POST /orgs/{org}/migrations"],startImport:["PUT /repos/{owner}/{repo}/import",{},{deprecated:"octokit.rest.migrations.startImport() is deprecated, see https://docs.github.com/rest/migrations/source-imports#start-an-import"}],unlockRepoForAuthenticatedUser:["DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock"],unlockRepoForOrg:["DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock"],updateImport:["PATCH /repos/{owner}/{repo}/import",{},{deprecated:"octokit.rest.migrations.updateImport() is deprecated, see https://docs.github.com/rest/migrations/source-imports#update-an-import"}]},oidc:{getOidcCustomSubTemplateForOrg:["GET /orgs/{org}/actions/oidc/customization/sub"],updateOidcCustomSubTemplateForOrg:["PUT /orgs/{org}/actions/oidc/customization/sub"]},orgs:{addSecurityManagerTeam:["PUT /orgs/{org}/security-managers/teams/{team_slug}"],assignTeamToOrgRole:["PUT /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}"],assignUserToOrgRole:["PUT /orgs/{org}/organization-roles/users/{username}/{role_id}"],blockUser:["PUT /orgs/{org}/blocks/{username}"],cancelInvitation:["DELETE /orgs/{org}/invitations/{invitation_id}"],checkBlockedUser:["GET /orgs/{org}/blocks/{username}"],checkMembershipForUser:["GET /orgs/{org}/members/{username}"],checkPublicMembershipForUser:["GET /orgs/{org}/public_members/{username}"],convertMemberToOutsideCollaborator:["PUT /orgs/{org}/outside_collaborators/{username}"],createCustomOrganizationRole:["POST /orgs/{org}/organization-roles"],createInvitation:["POST /orgs/{org}/invitations"],createOrUpdateCustomProperties:["PATCH /orgs/{org}/properties/schema"],createOrUpdateCustomPropertiesValuesForRepos:["PATCH /orgs/{org}/properties/values"],createOrUpdateCustomProperty:["PUT /orgs/{org}/properties/schema/{custom_property_name}"],createWebhook:["POST /orgs/{org}/hooks"],delete:["DELETE /orgs/{org}"],deleteCustomOrganizationRole:["DELETE /orgs/{org}/organization-roles/{role_id}"],deleteWebhook:["DELETE /orgs/{org}/hooks/{hook_id}"],enableOrDisableSecurityProductOnAllOrgRepos:["POST /orgs/{org}/{security_product}/{enablement}"],get:["GET /orgs/{org}"],getAllCustomProperties:["GET /orgs/{org}/properties/schema"],getCustomProperty:["GET /orgs/{org}/properties/schema/{custom_property_name}"],getMembershipForAuthenticatedUser:["GET /user/memberships/orgs/{org}"],getMembershipForUser:["GET /orgs/{org}/memberships/{username}"],getOrgRole:["GET /orgs/{org}/organization-roles/{role_id}"],getWebhook:["GET /orgs/{org}/hooks/{hook_id}"],getWebhookConfigForOrg:["GET /orgs/{org}/hooks/{hook_id}/config"],getWebhookDelivery:["GET /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}"],list:["GET /organizations"],listAppInstallations:["GET /orgs/{org}/installations"],listBlockedUsers:["GET /orgs/{org}/blocks"],listCustomPropertiesValuesForRepos:["GET /orgs/{org}/properties/values"],listFailedInvitations:["GET /orgs/{org}/failed_invitations"],listForAuthenticatedUser:["GET /user/orgs"],listForUser:["GET /users/{username}/orgs"],listInvitationTeams:["GET /orgs/{org}/invitations/{invitation_id}/teams"],listMembers:["GET /orgs/{org}/members"],listMembershipsForAuthenticatedUser:["GET /user/memberships/orgs"],listOrgRoleTeams:["GET /orgs/{org}/organization-roles/{role_id}/teams"],listOrgRoleUsers:["GET /orgs/{org}/organization-roles/{role_id}/users"],listOrgRoles:["GET /orgs/{org}/organization-roles"],listOrganizationFineGrainedPermissions:["GET /orgs/{org}/organization-fine-grained-permissions"],listOutsideCollaborators:["GET /orgs/{org}/outside_collaborators"],listPatGrantRepositories:["GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories"],listPatGrantRequestRepositories:["GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories"],listPatGrantRequests:["GET /orgs/{org}/personal-access-token-requests"],listPatGrants:["GET /orgs/{org}/personal-access-tokens"],listPendingInvitations:["GET /orgs/{org}/invitations"],listPublicMembers:["GET /orgs/{org}/public_members"],listSecurityManagerTeams:["GET /orgs/{org}/security-managers"],listWebhookDeliveries:["GET /orgs/{org}/hooks/{hook_id}/deliveries"],listWebhooks:["GET /orgs/{org}/hooks"],patchCustomOrganizationRole:["PATCH /orgs/{org}/organization-roles/{role_id}"],pingWebhook:["POST /orgs/{org}/hooks/{hook_id}/pings"],redeliverWebhookDelivery:["POST /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts"],removeCustomProperty:["DELETE /orgs/{org}/properties/schema/{custom_property_name}"],removeMember:["DELETE /orgs/{org}/members/{username}"],removeMembershipForUser:["DELETE /orgs/{org}/memberships/{username}"],removeOutsideCollaborator:["DELETE /orgs/{org}/outside_collaborators/{username}"],removePublicMembershipForAuthenticatedUser:["DELETE /orgs/{org}/public_members/{username}"],removeSecurityManagerTeam:["DELETE /orgs/{org}/security-managers/teams/{team_slug}"],reviewPatGrantRequest:["POST /orgs/{org}/personal-access-token-requests/{pat_request_id}"],reviewPatGrantRequestsInBulk:["POST /orgs/{org}/personal-access-token-requests"],revokeAllOrgRolesTeam:["DELETE /orgs/{org}/organization-roles/teams/{team_slug}"],revokeAllOrgRolesUser:["DELETE /orgs/{org}/organization-roles/users/{username}"],revokeOrgRoleTeam:["DELETE /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}"],revokeOrgRoleUser:["DELETE /orgs/{org}/organization-roles/users/{username}/{role_id}"],setMembershipForUser:["PUT /orgs/{org}/memberships/{username}"],setPublicMembershipForAuthenticatedUser:["PUT /orgs/{org}/public_members/{username}"],unblockUser:["DELETE /orgs/{org}/blocks/{username}"],update:["PATCH /orgs/{org}"],updateMembershipForAuthenticatedUser:["PATCH /user/memberships/orgs/{org}"],updatePatAccess:["POST /orgs/{org}/personal-access-tokens/{pat_id}"],updatePatAccesses:["POST /orgs/{org}/personal-access-tokens"],updateWebhook:["PATCH /orgs/{org}/hooks/{hook_id}"],updateWebhookConfigForOrg:["PATCH /orgs/{org}/hooks/{hook_id}/config"]},packages:{deletePackageForAuthenticatedUser:["DELETE /user/packages/{package_type}/{package_name}"],deletePackageForOrg:["DELETE /orgs/{org}/packages/{package_type}/{package_name}"],deletePackageForUser:["DELETE /users/{username}/packages/{package_type}/{package_name}"],deletePackageVersionForAuthenticatedUser:["DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}"],deletePackageVersionForOrg:["DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}"],deletePackageVersionForUser:["DELETE /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}"],getAllPackageVersionsForAPackageOwnedByAnOrg:["GET /orgs/{org}/packages/{package_type}/{package_name}/versions",{},{renamed:["packages","getAllPackageVersionsForPackageOwnedByOrg"]}],getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser:["GET /user/packages/{package_type}/{package_name}/versions",{},{renamed:["packages","getAllPackageVersionsForPackageOwnedByAuthenticatedUser"]}],getAllPackageVersionsForPackageOwnedByAuthenticatedUser:["GET /user/packages/{package_type}/{package_name}/versions"],getAllPackageVersionsForPackageOwnedByOrg:["GET /orgs/{org}/packages/{package_type}/{package_name}/versions"],getAllPackageVersionsForPackageOwnedByUser:["GET /users/{username}/packages/{package_type}/{package_name}/versions"],getPackageForAuthenticatedUser:["GET /user/packages/{package_type}/{package_name}"],getPackageForOrganization:["GET /orgs/{org}/packages/{package_type}/{package_name}"],getPackageForUser:["GET /users/{username}/packages/{package_type}/{package_name}"],getPackageVersionForAuthenticatedUser:["GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}"],getPackageVersionForOrganization:["GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}"],getPackageVersionForUser:["GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}"],listDockerMigrationConflictingPackagesForAuthenticatedUser:["GET /user/docker/conflicts"],listDockerMigrationConflictingPackagesForOrganization:["GET /orgs/{org}/docker/conflicts"],listDockerMigrationConflictingPackagesForUser:["GET /users/{username}/docker/conflicts"],listPackagesForAuthenticatedUser:["GET /user/packages"],listPackagesForOrganization:["GET /orgs/{org}/packages"],listPackagesForUser:["GET /users/{username}/packages"],restorePackageForAuthenticatedUser:["POST /user/packages/{package_type}/{package_name}/restore{?token}"],restorePackageForOrg:["POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}"],restorePackageForUser:["POST /users/{username}/packages/{package_type}/{package_name}/restore{?token}"],restorePackageVersionForAuthenticatedUser:["POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"],restorePackageVersionForOrg:["POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"],restorePackageVersionForUser:["POST /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"]},projects:{addCollaborator:["PUT /projects/{project_id}/collaborators/{username}"],createCard:["POST /projects/columns/{column_id}/cards"],createColumn:["POST /projects/{project_id}/columns"],createForAuthenticatedUser:["POST /user/projects"],createForOrg:["POST /orgs/{org}/projects"],createForRepo:["POST /repos/{owner}/{repo}/projects"],delete:["DELETE /projects/{project_id}"],deleteCard:["DELETE /projects/columns/cards/{card_id}"],deleteColumn:["DELETE /projects/columns/{column_id}"],get:["GET /projects/{project_id}"],getCard:["GET /projects/columns/cards/{card_id}"],getColumn:["GET /projects/columns/{column_id}"],getPermissionForUser:["GET /projects/{project_id}/collaborators/{username}/permission"],listCards:["GET /projects/columns/{column_id}/cards"],listCollaborators:["GET /projects/{project_id}/collaborators"],listColumns:["GET /projects/{project_id}/columns"],listForOrg:["GET /orgs/{org}/projects"],listForRepo:["GET /repos/{owner}/{repo}/projects"],listForUser:["GET /users/{username}/projects"],moveCard:["POST /projects/columns/cards/{card_id}/moves"],moveColumn:["POST /projects/columns/{column_id}/moves"],removeCollaborator:["DELETE /projects/{project_id}/collaborators/{username}"],update:["PATCH /projects/{project_id}"],updateCard:["PATCH /projects/columns/cards/{card_id}"],updateColumn:["PATCH /projects/columns/{column_id}"]},pulls:{checkIfMerged:["GET /repos/{owner}/{repo}/pulls/{pull_number}/merge"],create:["POST /repos/{owner}/{repo}/pulls"],createReplyForReviewComment:["POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies"],createReview:["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews"],createReviewComment:["POST /repos/{owner}/{repo}/pulls/{pull_number}/comments"],deletePendingReview:["DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"],deleteReviewComment:["DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}"],dismissReview:["PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals"],get:["GET /repos/{owner}/{repo}/pulls/{pull_number}"],getReview:["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"],getReviewComment:["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}"],list:["GET /repos/{owner}/{repo}/pulls"],listCommentsForReview:["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments"],listCommits:["GET /repos/{owner}/{repo}/pulls/{pull_number}/commits"],listFiles:["GET /repos/{owner}/{repo}/pulls/{pull_number}/files"],listRequestedReviewers:["GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"],listReviewComments:["GET /repos/{owner}/{repo}/pulls/{pull_number}/comments"],listReviewCommentsForRepo:["GET /repos/{owner}/{repo}/pulls/comments"],listReviews:["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews"],merge:["PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge"],removeRequestedReviewers:["DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"],requestReviewers:["POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"],submitReview:["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events"],update:["PATCH /repos/{owner}/{repo}/pulls/{pull_number}"],updateBranch:["PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch"],updateReview:["PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"],updateReviewComment:["PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}"]},rateLimit:{get:["GET /rate_limit"]},reactions:{createForCommitComment:["POST /repos/{owner}/{repo}/comments/{comment_id}/reactions"],createForIssue:["POST /repos/{owner}/{repo}/issues/{issue_number}/reactions"],createForIssueComment:["POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions"],createForPullRequestReviewComment:["POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions"],createForRelease:["POST /repos/{owner}/{repo}/releases/{release_id}/reactions"],createForTeamDiscussionCommentInOrg:["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions"],createForTeamDiscussionInOrg:["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"],deleteForCommitComment:["DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}"],deleteForIssue:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}"],deleteForIssueComment:["DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}"],deleteForPullRequestComment:["DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}"],deleteForRelease:["DELETE /repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}"],deleteForTeamDiscussion:["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}"],deleteForTeamDiscussionComment:["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}"],listForCommitComment:["GET /repos/{owner}/{repo}/comments/{comment_id}/reactions"],listForIssue:["GET /repos/{owner}/{repo}/issues/{issue_number}/reactions"],listForIssueComment:["GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions"],listForPullRequestReviewComment:["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions"],listForRelease:["GET /repos/{owner}/{repo}/releases/{release_id}/reactions"],listForTeamDiscussionCommentInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions"],listForTeamDiscussionInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"]},repos:{acceptInvitation:["PATCH /user/repository_invitations/{invitation_id}",{},{renamed:["repos","acceptInvitationForAuthenticatedUser"]}],acceptInvitationForAuthenticatedUser:["PATCH /user/repository_invitations/{invitation_id}"],addAppAccessRestrictions:["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps",{},{mapToData:"apps"}],addCollaborator:["PUT /repos/{owner}/{repo}/collaborators/{username}"],addStatusCheckContexts:["POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts",{},{mapToData:"contexts"}],addTeamAccessRestrictions:["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams",{},{mapToData:"teams"}],addUserAccessRestrictions:["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users",{},{mapToData:"users"}],cancelPagesDeployment:["POST /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}/cancel"],checkAutomatedSecurityFixes:["GET /repos/{owner}/{repo}/automated-security-fixes"],checkCollaborator:["GET /repos/{owner}/{repo}/collaborators/{username}"],checkVulnerabilityAlerts:["GET /repos/{owner}/{repo}/vulnerability-alerts"],codeownersErrors:["GET /repos/{owner}/{repo}/codeowners/errors"],compareCommits:["GET /repos/{owner}/{repo}/compare/{base}...{head}"],compareCommitsWithBasehead:["GET /repos/{owner}/{repo}/compare/{basehead}"],createAutolink:["POST /repos/{owner}/{repo}/autolinks"],createCommitComment:["POST /repos/{owner}/{repo}/commits/{commit_sha}/comments"],createCommitSignatureProtection:["POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"],createCommitStatus:["POST /repos/{owner}/{repo}/statuses/{sha}"],createDeployKey:["POST /repos/{owner}/{repo}/keys"],createDeployment:["POST /repos/{owner}/{repo}/deployments"],createDeploymentBranchPolicy:["POST /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies"],createDeploymentProtectionRule:["POST /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules"],createDeploymentStatus:["POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"],createDispatchEvent:["POST /repos/{owner}/{repo}/dispatches"],createForAuthenticatedUser:["POST /user/repos"],createFork:["POST /repos/{owner}/{repo}/forks"],createInOrg:["POST /orgs/{org}/repos"],createOrUpdateCustomPropertiesValues:["PATCH /repos/{owner}/{repo}/properties/values"],createOrUpdateEnvironment:["PUT /repos/{owner}/{repo}/environments/{environment_name}"],createOrUpdateFileContents:["PUT /repos/{owner}/{repo}/contents/{path}"],createOrgRuleset:["POST /orgs/{org}/rulesets"],createPagesDeployment:["POST /repos/{owner}/{repo}/pages/deployments"],createPagesSite:["POST /repos/{owner}/{repo}/pages"],createRelease:["POST /repos/{owner}/{repo}/releases"],createRepoRuleset:["POST /repos/{owner}/{repo}/rulesets"],createTagProtection:["POST /repos/{owner}/{repo}/tags/protection"],createUsingTemplate:["POST /repos/{template_owner}/{template_repo}/generate"],createWebhook:["POST /repos/{owner}/{repo}/hooks"],declineInvitation:["DELETE /user/repository_invitations/{invitation_id}",{},{renamed:["repos","declineInvitationForAuthenticatedUser"]}],declineInvitationForAuthenticatedUser:["DELETE /user/repository_invitations/{invitation_id}"],delete:["DELETE /repos/{owner}/{repo}"],deleteAccessRestrictions:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions"],deleteAdminBranchProtection:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"],deleteAnEnvironment:["DELETE /repos/{owner}/{repo}/environments/{environment_name}"],deleteAutolink:["DELETE /repos/{owner}/{repo}/autolinks/{autolink_id}"],deleteBranchProtection:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection"],deleteCommitComment:["DELETE /repos/{owner}/{repo}/comments/{comment_id}"],deleteCommitSignatureProtection:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"],deleteDeployKey:["DELETE /repos/{owner}/{repo}/keys/{key_id}"],deleteDeployment:["DELETE /repos/{owner}/{repo}/deployments/{deployment_id}"],deleteDeploymentBranchPolicy:["DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}"],deleteFile:["DELETE /repos/{owner}/{repo}/contents/{path}"],deleteInvitation:["DELETE /repos/{owner}/{repo}/invitations/{invitation_id}"],deleteOrgRuleset:["DELETE /orgs/{org}/rulesets/{ruleset_id}"],deletePagesSite:["DELETE /repos/{owner}/{repo}/pages"],deletePullRequestReviewProtection:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"],deleteRelease:["DELETE /repos/{owner}/{repo}/releases/{release_id}"],deleteReleaseAsset:["DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}"],deleteRepoRuleset:["DELETE /repos/{owner}/{repo}/rulesets/{ruleset_id}"],deleteTagProtection:["DELETE /repos/{owner}/{repo}/tags/protection/{tag_protection_id}"],deleteWebhook:["DELETE /repos/{owner}/{repo}/hooks/{hook_id}"],disableAutomatedSecurityFixes:["DELETE /repos/{owner}/{repo}/automated-security-fixes"],disableDeploymentProtectionRule:["DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}"],disablePrivateVulnerabilityReporting:["DELETE /repos/{owner}/{repo}/private-vulnerability-reporting"],disableVulnerabilityAlerts:["DELETE /repos/{owner}/{repo}/vulnerability-alerts"],downloadArchive:["GET /repos/{owner}/{repo}/zipball/{ref}",{},{renamed:["repos","downloadZipballArchive"]}],downloadTarballArchive:["GET /repos/{owner}/{repo}/tarball/{ref}"],downloadZipballArchive:["GET /repos/{owner}/{repo}/zipball/{ref}"],enableAutomatedSecurityFixes:["PUT /repos/{owner}/{repo}/automated-security-fixes"],enablePrivateVulnerabilityReporting:["PUT /repos/{owner}/{repo}/private-vulnerability-reporting"],enableVulnerabilityAlerts:["PUT /repos/{owner}/{repo}/vulnerability-alerts"],generateReleaseNotes:["POST /repos/{owner}/{repo}/releases/generate-notes"],get:["GET /repos/{owner}/{repo}"],getAccessRestrictions:["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions"],getAdminBranchProtection:["GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"],getAllDeploymentProtectionRules:["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules"],getAllEnvironments:["GET /repos/{owner}/{repo}/environments"],getAllStatusCheckContexts:["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts"],getAllTopics:["GET /repos/{owner}/{repo}/topics"],getAppsWithAccessToProtectedBranch:["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps"],getAutolink:["GET /repos/{owner}/{repo}/autolinks/{autolink_id}"],getBranch:["GET /repos/{owner}/{repo}/branches/{branch}"],getBranchProtection:["GET /repos/{owner}/{repo}/branches/{branch}/protection"],getBranchRules:["GET /repos/{owner}/{repo}/rules/branches/{branch}"],getClones:["GET /repos/{owner}/{repo}/traffic/clones"],getCodeFrequencyStats:["GET /repos/{owner}/{repo}/stats/code_frequency"],getCollaboratorPermissionLevel:["GET /repos/{owner}/{repo}/collaborators/{username}/permission"],getCombinedStatusForRef:["GET /repos/{owner}/{repo}/commits/{ref}/status"],getCommit:["GET /repos/{owner}/{repo}/commits/{ref}"],getCommitActivityStats:["GET /repos/{owner}/{repo}/stats/commit_activity"],getCommitComment:["GET /repos/{owner}/{repo}/comments/{comment_id}"],getCommitSignatureProtection:["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"],getCommunityProfileMetrics:["GET /repos/{owner}/{repo}/community/profile"],getContent:["GET /repos/{owner}/{repo}/contents/{path}"],getContributorsStats:["GET /repos/{owner}/{repo}/stats/contributors"],getCustomDeploymentProtectionRule:["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}"],getCustomPropertiesValues:["GET /repos/{owner}/{repo}/properties/values"],getDeployKey:["GET /repos/{owner}/{repo}/keys/{key_id}"],getDeployment:["GET /repos/{owner}/{repo}/deployments/{deployment_id}"],getDeploymentBranchPolicy:["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}"],getDeploymentStatus:["GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}"],getEnvironment:["GET /repos/{owner}/{repo}/environments/{environment_name}"],getLatestPagesBuild:["GET /repos/{owner}/{repo}/pages/builds/latest"],getLatestRelease:["GET /repos/{owner}/{repo}/releases/latest"],getOrgRuleSuite:["GET /orgs/{org}/rulesets/rule-suites/{rule_suite_id}"],getOrgRuleSuites:["GET /orgs/{org}/rulesets/rule-suites"],getOrgRuleset:["GET /orgs/{org}/rulesets/{ruleset_id}"],getOrgRulesets:["GET /orgs/{org}/rulesets"],getPages:["GET /repos/{owner}/{repo}/pages"],getPagesBuild:["GET /repos/{owner}/{repo}/pages/builds/{build_id}"],getPagesDeployment:["GET /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}"],getPagesHealthCheck:["GET /repos/{owner}/{repo}/pages/health"],getParticipationStats:["GET /repos/{owner}/{repo}/stats/participation"],getPullRequestReviewProtection:["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"],getPunchCardStats:["GET /repos/{owner}/{repo}/stats/punch_card"],getReadme:["GET /repos/{owner}/{repo}/readme"],getReadmeInDirectory:["GET /repos/{owner}/{repo}/readme/{dir}"],getRelease:["GET /repos/{owner}/{repo}/releases/{release_id}"],getReleaseAsset:["GET /repos/{owner}/{repo}/releases/assets/{asset_id}"],getReleaseByTag:["GET /repos/{owner}/{repo}/releases/tags/{tag}"],getRepoRuleSuite:["GET /repos/{owner}/{repo}/rulesets/rule-suites/{rule_suite_id}"],getRepoRuleSuites:["GET /repos/{owner}/{repo}/rulesets/rule-suites"],getRepoRuleset:["GET /repos/{owner}/{repo}/rulesets/{ruleset_id}"],getRepoRulesets:["GET /repos/{owner}/{repo}/rulesets"],getStatusChecksProtection:["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"],getTeamsWithAccessToProtectedBranch:["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams"],getTopPaths:["GET /repos/{owner}/{repo}/traffic/popular/paths"],getTopReferrers:["GET /repos/{owner}/{repo}/traffic/popular/referrers"],getUsersWithAccessToProtectedBranch:["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users"],getViews:["GET /repos/{owner}/{repo}/traffic/views"],getWebhook:["GET /repos/{owner}/{repo}/hooks/{hook_id}"],getWebhookConfigForRepo:["GET /repos/{owner}/{repo}/hooks/{hook_id}/config"],getWebhookDelivery:["GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}"],listActivities:["GET /repos/{owner}/{repo}/activity"],listAutolinks:["GET /repos/{owner}/{repo}/autolinks"],listBranches:["GET /repos/{owner}/{repo}/branches"],listBranchesForHeadCommit:["GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head"],listCollaborators:["GET /repos/{owner}/{repo}/collaborators"],listCommentsForCommit:["GET /repos/{owner}/{repo}/commits/{commit_sha}/comments"],listCommitCommentsForRepo:["GET /repos/{owner}/{repo}/comments"],listCommitStatusesForRef:["GET /repos/{owner}/{repo}/commits/{ref}/statuses"],listCommits:["GET /repos/{owner}/{repo}/commits"],listContributors:["GET /repos/{owner}/{repo}/contributors"],listCustomDeploymentRuleIntegrations:["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps"],listDeployKeys:["GET /repos/{owner}/{repo}/keys"],listDeploymentBranchPolicies:["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies"],listDeploymentStatuses:["GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"],listDeployments:["GET /repos/{owner}/{repo}/deployments"],listForAuthenticatedUser:["GET /user/repos"],listForOrg:["GET /orgs/{org}/repos"],listForUser:["GET /users/{username}/repos"],listForks:["GET /repos/{owner}/{repo}/forks"],listInvitations:["GET /repos/{owner}/{repo}/invitations"],listInvitationsForAuthenticatedUser:["GET /user/repository_invitations"],listLanguages:["GET /repos/{owner}/{repo}/languages"],listPagesBuilds:["GET /repos/{owner}/{repo}/pages/builds"],listPublic:["GET /repositories"],listPullRequestsAssociatedWithCommit:["GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls"],listReleaseAssets:["GET /repos/{owner}/{repo}/releases/{release_id}/assets"],listReleases:["GET /repos/{owner}/{repo}/releases"],listTagProtection:["GET /repos/{owner}/{repo}/tags/protection"],listTags:["GET /repos/{owner}/{repo}/tags"],listTeams:["GET /repos/{owner}/{repo}/teams"],listWebhookDeliveries:["GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries"],listWebhooks:["GET /repos/{owner}/{repo}/hooks"],merge:["POST /repos/{owner}/{repo}/merges"],mergeUpstream:["POST /repos/{owner}/{repo}/merge-upstream"],pingWebhook:["POST /repos/{owner}/{repo}/hooks/{hook_id}/pings"],redeliverWebhookDelivery:["POST /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts"],removeAppAccessRestrictions:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps",{},{mapToData:"apps"}],removeCollaborator:["DELETE /repos/{owner}/{repo}/collaborators/{username}"],removeStatusCheckContexts:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts",{},{mapToData:"contexts"}],removeStatusCheckProtection:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"],removeTeamAccessRestrictions:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams",{},{mapToData:"teams"}],removeUserAccessRestrictions:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users",{},{mapToData:"users"}],renameBranch:["POST /repos/{owner}/{repo}/branches/{branch}/rename"],replaceAllTopics:["PUT /repos/{owner}/{repo}/topics"],requestPagesBuild:["POST /repos/{owner}/{repo}/pages/builds"],setAdminBranchProtection:["POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"],setAppAccessRestrictions:["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps",{},{mapToData:"apps"}],setStatusCheckContexts:["PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts",{},{mapToData:"contexts"}],setTeamAccessRestrictions:["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams",{},{mapToData:"teams"}],setUserAccessRestrictions:["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users",{},{mapToData:"users"}],testPushWebhook:["POST /repos/{owner}/{repo}/hooks/{hook_id}/tests"],transfer:["POST /repos/{owner}/{repo}/transfer"],update:["PATCH /repos/{owner}/{repo}"],updateBranchProtection:["PUT /repos/{owner}/{repo}/branches/{branch}/protection"],updateCommitComment:["PATCH /repos/{owner}/{repo}/comments/{comment_id}"],updateDeploymentBranchPolicy:["PUT /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}"],updateInformationAboutPagesSite:["PUT /repos/{owner}/{repo}/pages"],updateInvitation:["PATCH /repos/{owner}/{repo}/invitations/{invitation_id}"],updateOrgRuleset:["PUT /orgs/{org}/rulesets/{ruleset_id}"],updatePullRequestReviewProtection:["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"],updateRelease:["PATCH /repos/{owner}/{repo}/releases/{release_id}"],updateReleaseAsset:["PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}"],updateRepoRuleset:["PUT /repos/{owner}/{repo}/rulesets/{ruleset_id}"],updateStatusCheckPotection:["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks",{},{renamed:["repos","updateStatusCheckProtection"]}],updateStatusCheckProtection:["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"],updateWebhook:["PATCH /repos/{owner}/{repo}/hooks/{hook_id}"],updateWebhookConfigForRepo:["PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config"],uploadReleaseAsset:["POST /repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}",{baseUrl:"https://uploads.github.com"}]},search:{code:["GET /search/code"],commits:["GET /search/commits"],issuesAndPullRequests:["GET /search/issues"],labels:["GET /search/labels"],repos:["GET /search/repositories"],topics:["GET /search/topics"],users:["GET /search/users"]},secretScanning:{getAlert:["GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"],listAlertsForEnterprise:["GET /enterprises/{enterprise}/secret-scanning/alerts"],listAlertsForOrg:["GET /orgs/{org}/secret-scanning/alerts"],listAlertsForRepo:["GET /repos/{owner}/{repo}/secret-scanning/alerts"],listLocationsForAlert:["GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations"],updateAlert:["PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"]},securityAdvisories:{createFork:["POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/forks"],createPrivateVulnerabilityReport:["POST /repos/{owner}/{repo}/security-advisories/reports"],createRepositoryAdvisory:["POST /repos/{owner}/{repo}/security-advisories"],createRepositoryAdvisoryCveRequest:["POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/cve"],getGlobalAdvisory:["GET /advisories/{ghsa_id}"],getRepositoryAdvisory:["GET /repos/{owner}/{repo}/security-advisories/{ghsa_id}"],listGlobalAdvisories:["GET /advisories"],listOrgRepositoryAdvisories:["GET /orgs/{org}/security-advisories"],listRepositoryAdvisories:["GET /repos/{owner}/{repo}/security-advisories"],updateRepositoryAdvisory:["PATCH /repos/{owner}/{repo}/security-advisories/{ghsa_id}"]},teams:{addOrUpdateMembershipForUserInOrg:["PUT /orgs/{org}/teams/{team_slug}/memberships/{username}"],addOrUpdateProjectPermissionsInOrg:["PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}"],addOrUpdateRepoPermissionsInOrg:["PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"],checkPermissionsForProjectInOrg:["GET /orgs/{org}/teams/{team_slug}/projects/{project_id}"],checkPermissionsForRepoInOrg:["GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"],create:["POST /orgs/{org}/teams"],createDiscussionCommentInOrg:["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"],createDiscussionInOrg:["POST /orgs/{org}/teams/{team_slug}/discussions"],deleteDiscussionCommentInOrg:["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"],deleteDiscussionInOrg:["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"],deleteInOrg:["DELETE /orgs/{org}/teams/{team_slug}"],getByName:["GET /orgs/{org}/teams/{team_slug}"],getDiscussionCommentInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"],getDiscussionInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"],getMembershipForUserInOrg:["GET /orgs/{org}/teams/{team_slug}/memberships/{username}"],list:["GET /orgs/{org}/teams"],listChildInOrg:["GET /orgs/{org}/teams/{team_slug}/teams"],listDiscussionCommentsInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"],listDiscussionsInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions"],listForAuthenticatedUser:["GET /user/teams"],listMembersInOrg:["GET /orgs/{org}/teams/{team_slug}/members"],listPendingInvitationsInOrg:["GET /orgs/{org}/teams/{team_slug}/invitations"],listProjectsInOrg:["GET /orgs/{org}/teams/{team_slug}/projects"],listReposInOrg:["GET /orgs/{org}/teams/{team_slug}/repos"],removeMembershipForUserInOrg:["DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}"],removeProjectInOrg:["DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}"],removeRepoInOrg:["DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"],updateDiscussionCommentInOrg:["PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"],updateDiscussionInOrg:["PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"],updateInOrg:["PATCH /orgs/{org}/teams/{team_slug}"]},users:{addEmailForAuthenticated:["POST /user/emails",{},{renamed:["users","addEmailForAuthenticatedUser"]}],addEmailForAuthenticatedUser:["POST /user/emails"],addSocialAccountForAuthenticatedUser:["POST /user/social_accounts"],block:["PUT /user/blocks/{username}"],checkBlocked:["GET /user/blocks/{username}"],checkFollowingForUser:["GET /users/{username}/following/{target_user}"],checkPersonIsFollowedByAuthenticated:["GET /user/following/{username}"],createGpgKeyForAuthenticated:["POST /user/gpg_keys",{},{renamed:["users","createGpgKeyForAuthenticatedUser"]}],createGpgKeyForAuthenticatedUser:["POST /user/gpg_keys"],createPublicSshKeyForAuthenticated:["POST /user/keys",{},{renamed:["users","createPublicSshKeyForAuthenticatedUser"]}],createPublicSshKeyForAuthenticatedUser:["POST /user/keys"],createSshSigningKeyForAuthenticatedUser:["POST /user/ssh_signing_keys"],deleteEmailForAuthenticated:["DELETE /user/emails",{},{renamed:["users","deleteEmailForAuthenticatedUser"]}],deleteEmailForAuthenticatedUser:["DELETE /user/emails"],deleteGpgKeyForAuthenticated:["DELETE /user/gpg_keys/{gpg_key_id}",{},{renamed:["users","deleteGpgKeyForAuthenticatedUser"]}],deleteGpgKeyForAuthenticatedUser:["DELETE /user/gpg_keys/{gpg_key_id}"],deletePublicSshKeyForAuthenticated:["DELETE /user/keys/{key_id}",{},{renamed:["users","deletePublicSshKeyForAuthenticatedUser"]}],deletePublicSshKeyForAuthenticatedUser:["DELETE /user/keys/{key_id}"],deleteSocialAccountForAuthenticatedUser:["DELETE /user/social_accounts"],deleteSshSigningKeyForAuthenticatedUser:["DELETE /user/ssh_signing_keys/{ssh_signing_key_id}"],follow:["PUT /user/following/{username}"],getAuthenticated:["GET /user"],getByUsername:["GET /users/{username}"],getContextForUser:["GET /users/{username}/hovercard"],getGpgKeyForAuthenticated:["GET /user/gpg_keys/{gpg_key_id}",{},{renamed:["users","getGpgKeyForAuthenticatedUser"]}],getGpgKeyForAuthenticatedUser:["GET /user/gpg_keys/{gpg_key_id}"],getPublicSshKeyForAuthenticated:["GET /user/keys/{key_id}",{},{renamed:["users","getPublicSshKeyForAuthenticatedUser"]}],getPublicSshKeyForAuthenticatedUser:["GET /user/keys/{key_id}"],getSshSigningKeyForAuthenticatedUser:["GET /user/ssh_signing_keys/{ssh_signing_key_id}"],list:["GET /users"],listBlockedByAuthenticated:["GET /user/blocks",{},{renamed:["users","listBlockedByAuthenticatedUser"]}],listBlockedByAuthenticatedUser:["GET /user/blocks"],listEmailsForAuthenticated:["GET /user/emails",{},{renamed:["users","listEmailsForAuthenticatedUser"]}],listEmailsForAuthenticatedUser:["GET /user/emails"],listFollowedByAuthenticated:["GET /user/following",{},{renamed:["users","listFollowedByAuthenticatedUser"]}],listFollowedByAuthenticatedUser:["GET /user/following"],listFollowersForAuthenticatedUser:["GET /user/followers"],listFollowersForUser:["GET /users/{username}/followers"],listFollowingForUser:["GET /users/{username}/following"],listGpgKeysForAuthenticated:["GET /user/gpg_keys",{},{renamed:["users","listGpgKeysForAuthenticatedUser"]}],listGpgKeysForAuthenticatedUser:["GET /user/gpg_keys"],listGpgKeysForUser:["GET /users/{username}/gpg_keys"],listPublicEmailsForAuthenticated:["GET /user/public_emails",{},{renamed:["users","listPublicEmailsForAuthenticatedUser"]}],listPublicEmailsForAuthenticatedUser:["GET /user/public_emails"],listPublicKeysForUser:["GET /users/{username}/keys"],listPublicSshKeysForAuthenticated:["GET /user/keys",{},{renamed:["users","listPublicSshKeysForAuthenticatedUser"]}],listPublicSshKeysForAuthenticatedUser:["GET /user/keys"],listSocialAccountsForAuthenticatedUser:["GET /user/social_accounts"],listSocialAccountsForUser:["GET /users/{username}/social_accounts"],listSshSigningKeysForAuthenticatedUser:["GET /user/ssh_signing_keys"],listSshSigningKeysForUser:["GET /users/{username}/ssh_signing_keys"],setPrimaryEmailVisibilityForAuthenticated:["PATCH /user/email/visibility",{},{renamed:["users","setPrimaryEmailVisibilityForAuthenticatedUser"]}],setPrimaryEmailVisibilityForAuthenticatedUser:["PATCH /user/email/visibility"],unblock:["DELETE /user/blocks/{username}"],unfollow:["DELETE /user/following/{username}"],updateAuthenticated:["PATCH /user"]}};var a=n;var c=new Map;for(const[e,t]of Object.entries(a)){for(const[A,s]of Object.entries(t)){const[t,r,o]=s;const[i,n]=t.split(/ /);const a=Object.assign({method:i,url:n},r);if(!c.has(e)){c.set(e,new Map)}c.get(e).set(A,{scope:e,methodName:A,endpointDefaults:a,decorations:o})}}var l={has({scope:e},t){return c.get(e).has(t)},getOwnPropertyDescriptor(e,t){return{value:this.get(e,t),configurable:true,writable:true,enumerable:true}},defineProperty(e,t,A){Object.defineProperty(e.cache,t,A);return true},deleteProperty(e,t){delete e.cache[t];return true},ownKeys({scope:e}){return[...c.get(e).keys()]},set(e,t,A){return e.cache[t]=A},get({octokit:e,scope:t,cache:A},s){if(A[s]){return A[s]}const r=c.get(t).get(s);if(!r){return void 0}const{endpointDefaults:o,decorations:i}=r;if(i){A[s]=decorate(e,t,s,o,i)}else{A[s]=e.request.defaults(o)}return A[s]}};function endpointsToMethods(e){const t={};for(const A of c.keys()){t[A]=new Proxy({octokit:e,scope:A,cache:{}},l)}return t}function decorate(e,t,A,s,r){const o=e.request.defaults(s);function withDecorations(...s){let i=o.endpoint.merge(...s);if(r.mapToData){i=Object.assign({},i,{data:i[r.mapToData],[r.mapToData]:void 0});return o(i)}if(r.renamed){const[s,o]=r.renamed;e.log.warn(`octokit.${t}.${A}() has been renamed to octokit.${s}.${o}()`)}if(r.deprecated){e.log.warn(r.deprecated)}if(r.renamedParameters){const i=o.endpoint.merge(...s);for(const[s,o]of Object.entries(r.renamedParameters)){if(s in i){e.log.warn(`"${s}" parameter is deprecated for "octokit.${t}.${A}()". Use "${o}" instead`);if(!(o in i)){i[o]=i[s]}delete i[s]}}return o(i)}return o(...s)}return Object.assign(withDecorations,o)}function restEndpointMethods(e){const t=endpointsToMethods(e);return{rest:t}}restEndpointMethods.VERSION=i;function legacyRestEndpointMethods(e){const t=endpointsToMethods(e);return{...t,rest:t}}legacyRestEndpointMethods.VERSION=i;0&&0},7651:(e,t,A)=>{"use strict";var s=Object.create;var r=Object.defineProperty;var o=Object.getOwnPropertyDescriptor;var i=Object.getOwnPropertyNames;var n=Object.getPrototypeOf;var a=Object.prototype.hasOwnProperty;var __export=(e,t)=>{for(var A in t)r(e,A,{get:t[A],enumerable:true})};var __copyProps=(e,t,A,s)=>{if(t&&typeof t==="object"||typeof t==="function"){for(let n of i(t))if(!a.call(e,n)&&n!==A)r(e,n,{get:()=>t[n],enumerable:!(s=o(t,n))||s.enumerable})}return e};var __toESM=(e,t,A)=>(A=e!=null?s(n(e)):{},__copyProps(t||!e||!e.__esModule?r(A,"default",{value:e,enumerable:true}):A,e));var __toCommonJS=e=>__copyProps(r({},"__esModule",{value:true}),e);var c={};__export(c,{RequestError:()=>E});e.exports=__toCommonJS(c);var l=A(4150);var g=__toESM(A(5560));var h=(0,g.default)((e=>console.warn(e)));var u=(0,g.default)((e=>console.warn(e)));var E=class extends Error{constructor(e,t,A){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="HttpError";this.status=t;let s;if("headers"in A&&typeof A.headers!=="undefined"){s=A.headers}if("response"in A){this.response=A.response;s=A.response.headers}const r=Object.assign({},A.request);if(A.request.headers.authorization){r.headers=Object.assign({},A.request.headers,{authorization:A.request.headers.authorization.replace(/ .*$/," [REDACTED]")})}r.url=r.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]");this.request=r;Object.defineProperty(this,"code",{get(){h(new l.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`."));return t}});Object.defineProperty(this,"headers",{get(){u(new l.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`."));return s||{}}})}};0&&0},8576:(e,t,A)=>{"use strict";var s=Object.defineProperty;var r=Object.getOwnPropertyDescriptor;var o=Object.getOwnPropertyNames;var i=Object.prototype.hasOwnProperty;var __export=(e,t)=>{for(var A in t)s(e,A,{get:t[A],enumerable:true})};var __copyProps=(e,t,A,n)=>{if(t&&typeof t==="object"||typeof t==="function"){for(let a of o(t))if(!i.call(e,a)&&a!==A)s(e,a,{get:()=>t[a],enumerable:!(n=r(t,a))||n.enumerable})}return e};var __toCommonJS=e=>__copyProps(s({},"__esModule",{value:true}),e);var n={};__export(n,{request:()=>h});e.exports=__toCommonJS(n);var a=A(4806);var c=A(3843);var l="8.4.0";function isPlainObject(e){if(typeof e!=="object"||e===null)return false;if(Object.prototype.toString.call(e)!=="[object Object]")return false;const t=Object.getPrototypeOf(e);if(t===null)return true;const A=Object.prototype.hasOwnProperty.call(t,"constructor")&&t.constructor;return typeof A==="function"&&A instanceof A&&Function.prototype.call(A)===Function.prototype.call(e)}var g=A(7651);function getBufferResponse(e){return e.arrayBuffer()}function fetchWrapper(e){var t,A,s,r;const o=e.request&&e.request.log?e.request.log:console;const i=((t=e.request)==null?void 0:t.parseSuccessResponseBody)!==false;if(isPlainObject(e.body)||Array.isArray(e.body)){e.body=JSON.stringify(e.body)}let n={};let a;let c;let{fetch:l}=globalThis;if((A=e.request)==null?void 0:A.fetch){l=e.request.fetch}if(!l){throw new Error("fetch is not set. Please pass a fetch implementation as new Octokit({ request: { fetch }}). Learn more at https://github.com/octokit/octokit.js/#fetch-missing")}return l(e.url,{method:e.method,body:e.body,redirect:(s=e.request)==null?void 0:s.redirect,headers:e.headers,signal:(r=e.request)==null?void 0:r.signal,...e.body&&{duplex:"half"}}).then((async t=>{c=t.url;a=t.status;for(const e of t.headers){n[e[0]]=e[1]}if("deprecation"in n){const t=n.link&&n.link.match(/<([^>]+)>; rel="deprecation"/);const A=t&&t.pop();o.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${n.sunset}${A?`. See ${A}`:""}`)}if(a===204||a===205){return}if(e.method==="HEAD"){if(a<400){return}throw new g.RequestError(t.statusText,a,{response:{url:c,status:a,headers:n,data:void 0},request:e})}if(a===304){throw new g.RequestError("Not modified",a,{response:{url:c,status:a,headers:n,data:await getResponseData(t)},request:e})}if(a>=400){const A=await getResponseData(t);const s=new g.RequestError(toErrorMessage(A),a,{response:{url:c,status:a,headers:n,data:A},request:e});throw s}return i?await getResponseData(t):t.body})).then((e=>({status:a,url:c,headers:n,data:e}))).catch((t=>{if(t instanceof g.RequestError)throw t;else if(t.name==="AbortError")throw t;let A=t.message;if(t.name==="TypeError"&&"cause"in t){if(t.cause instanceof Error){A=t.cause.message}else if(typeof t.cause==="string"){A=t.cause}}throw new g.RequestError(A,500,{request:e})}))}async function getResponseData(e){const t=e.headers.get("content-type");if(/application\/json/.test(t)){return e.json().catch((()=>e.text())).catch((()=>""))}if(!t||/^text\/|charset=utf-8$/.test(t)){return e.text()}return getBufferResponse(e)}function toErrorMessage(e){if(typeof e==="string")return e;let t;if("documentation_url"in e){t=` - ${e.documentation_url}`}else{t=""}if("message"in e){if(Array.isArray(e.errors)){return`${e.message}: ${e.errors.map(JSON.stringify).join(", ")}${t}`}return`${e.message}${t}`}return`Unknown error: ${JSON.stringify(e)}`}function withDefaults(e,t){const A=e.defaults(t);const newApi=function(e,t){const s=A.merge(e,t);if(!s.request||!s.request.hook){return fetchWrapper(A.parse(s))}const request2=(e,t)=>fetchWrapper(A.parse(A.merge(e,t)));Object.assign(request2,{endpoint:A,defaults:withDefaults.bind(null,A)});return s.request.hook(request2,s)};return Object.assign(newApi,{endpoint:A,defaults:withDefaults.bind(null,A)})}var h=withDefaults(a.endpoint,{headers:{"user-agent":`octokit-request.js/${l} ${(0,c.getUserAgent)()}`}});0&&0},4552:function(e,t){"use strict";var A=this&&this.__awaiter||function(e,t,A,s){function adopt(e){return e instanceof A?e:new A((function(t){t(e)}))}return new(A||(A=Promise))((function(A,r){function fulfilled(e){try{step(s.next(e))}catch(e){r(e)}}function rejected(e){try{step(s["throw"](e))}catch(e){r(e)}}function step(e){e.done?A(e.value):adopt(e.value).then(fulfilled,rejected)}step((s=s.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.PersonalAccessTokenCredentialHandler=t.BearerCredentialHandler=t.BasicCredentialHandler=void 0;class BasicCredentialHandler{constructor(e,t){this.username=e;this.password=t}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`${this.username}:${this.password}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return A(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}t.BasicCredentialHandler=BasicCredentialHandler;class BearerCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Bearer ${this.token}`}canHandleAuthentication(){return false}handleAuthentication(){return A(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}t.BearerCredentialHandler=BearerCredentialHandler;class PersonalAccessTokenCredentialHandler{constructor(e){this.token=e}prepareRequest(e){if(!e.headers){throw Error("The request has no headers")}e.headers["Authorization"]=`Basic ${Buffer.from(`PAT:${this.token}`).toString("base64")}`}canHandleAuthentication(){return false}handleAuthentication(){return A(this,void 0,void 0,(function*(){throw new Error("not implemented")}))}}t.PersonalAccessTokenCredentialHandler=PersonalAccessTokenCredentialHandler},4844:function(e,t,A){"use strict";var s=this&&this.__createBinding||(Object.create?function(e,t,A,s){if(s===undefined)s=A;var r=Object.getOwnPropertyDescriptor(t,A);if(!r||("get"in r?!t.__esModule:r.writable||r.configurable)){r={enumerable:true,get:function(){return t[A]}}}Object.defineProperty(e,s,r)}:function(e,t,A,s){if(s===undefined)s=A;e[s]=t[A]});var r=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var A in e)if(A!=="default"&&Object.prototype.hasOwnProperty.call(e,A))s(t,e,A);r(t,e);return t};var i=this&&this.__awaiter||function(e,t,A,s){function adopt(e){return e instanceof A?e:new A((function(t){t(e)}))}return new(A||(A=Promise))((function(A,r){function fulfilled(e){try{step(s.next(e))}catch(e){r(e)}}function rejected(e){try{step(s["throw"](e))}catch(e){r(e)}}function step(e){e.done?A(e.value):adopt(e.value).then(fulfilled,rejected)}step((s=s.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.HttpClient=t.isHttps=t.HttpClientResponse=t.HttpClientError=t.getProxyUrl=t.MediaTypes=t.Headers=t.HttpCodes=void 0;const n=o(A(8611));const a=o(A(5692));const c=o(A(4988));const l=o(A(770));const g=A(6752);var h;(function(e){e[e["OK"]=200]="OK";e[e["MultipleChoices"]=300]="MultipleChoices";e[e["MovedPermanently"]=301]="MovedPermanently";e[e["ResourceMoved"]=302]="ResourceMoved";e[e["SeeOther"]=303]="SeeOther";e[e["NotModified"]=304]="NotModified";e[e["UseProxy"]=305]="UseProxy";e[e["SwitchProxy"]=306]="SwitchProxy";e[e["TemporaryRedirect"]=307]="TemporaryRedirect";e[e["PermanentRedirect"]=308]="PermanentRedirect";e[e["BadRequest"]=400]="BadRequest";e[e["Unauthorized"]=401]="Unauthorized";e[e["PaymentRequired"]=402]="PaymentRequired";e[e["Forbidden"]=403]="Forbidden";e[e["NotFound"]=404]="NotFound";e[e["MethodNotAllowed"]=405]="MethodNotAllowed";e[e["NotAcceptable"]=406]="NotAcceptable";e[e["ProxyAuthenticationRequired"]=407]="ProxyAuthenticationRequired";e[e["RequestTimeout"]=408]="RequestTimeout";e[e["Conflict"]=409]="Conflict";e[e["Gone"]=410]="Gone";e[e["TooManyRequests"]=429]="TooManyRequests";e[e["InternalServerError"]=500]="InternalServerError";e[e["NotImplemented"]=501]="NotImplemented";e[e["BadGateway"]=502]="BadGateway";e[e["ServiceUnavailable"]=503]="ServiceUnavailable";e[e["GatewayTimeout"]=504]="GatewayTimeout"})(h||(t.HttpCodes=h={}));var u;(function(e){e["Accept"]="accept";e["ContentType"]="content-type"})(u||(t.Headers=u={}));var E;(function(e){e["ApplicationJson"]="application/json"})(E||(t.MediaTypes=E={}));function getProxyUrl(e){const t=c.getProxyUrl(new URL(e));return t?t.href:""}t.getProxyUrl=getProxyUrl;const d=[h.MovedPermanently,h.ResourceMoved,h.SeeOther,h.TemporaryRedirect,h.PermanentRedirect];const p=[h.BadGateway,h.ServiceUnavailable,h.GatewayTimeout];const Q=["OPTIONS","GET","DELETE","HEAD"];const C=10;const B=5;class HttpClientError extends Error{constructor(e,t){super(e);this.name="HttpClientError";this.statusCode=t;Object.setPrototypeOf(this,HttpClientError.prototype)}}t.HttpClientError=HttpClientError;class HttpClientResponse{constructor(e){this.message=e}readBody(){return i(this,void 0,void 0,(function*(){return new Promise((e=>i(this,void 0,void 0,(function*(){let t=Buffer.alloc(0);this.message.on("data",(e=>{t=Buffer.concat([t,e])}));this.message.on("end",(()=>{e(t.toString())}))}))))}))}readBodyBuffer(){return i(this,void 0,void 0,(function*(){return new Promise((e=>i(this,void 0,void 0,(function*(){const t=[];this.message.on("data",(e=>{t.push(e)}));this.message.on("end",(()=>{e(Buffer.concat(t))}))}))))}))}}t.HttpClientResponse=HttpClientResponse;function isHttps(e){const t=new URL(e);return t.protocol==="https:"}t.isHttps=isHttps;class HttpClient{constructor(e,t,A){this._ignoreSslError=false;this._allowRedirects=true;this._allowRedirectDowngrade=false;this._maxRedirects=50;this._allowRetries=false;this._maxRetries=1;this._keepAlive=false;this._disposed=false;this.userAgent=e;this.handlers=t||[];this.requestOptions=A;if(A){if(A.ignoreSslError!=null){this._ignoreSslError=A.ignoreSslError}this._socketTimeout=A.socketTimeout;if(A.allowRedirects!=null){this._allowRedirects=A.allowRedirects}if(A.allowRedirectDowngrade!=null){this._allowRedirectDowngrade=A.allowRedirectDowngrade}if(A.maxRedirects!=null){this._maxRedirects=Math.max(A.maxRedirects,0)}if(A.keepAlive!=null){this._keepAlive=A.keepAlive}if(A.allowRetries!=null){this._allowRetries=A.allowRetries}if(A.maxRetries!=null){this._maxRetries=A.maxRetries}}}options(e,t){return i(this,void 0,void 0,(function*(){return this.request("OPTIONS",e,null,t||{})}))}get(e,t){return i(this,void 0,void 0,(function*(){return this.request("GET",e,null,t||{})}))}del(e,t){return i(this,void 0,void 0,(function*(){return this.request("DELETE",e,null,t||{})}))}post(e,t,A){return i(this,void 0,void 0,(function*(){return this.request("POST",e,t,A||{})}))}patch(e,t,A){return i(this,void 0,void 0,(function*(){return this.request("PATCH",e,t,A||{})}))}put(e,t,A){return i(this,void 0,void 0,(function*(){return this.request("PUT",e,t,A||{})}))}head(e,t){return i(this,void 0,void 0,(function*(){return this.request("HEAD",e,null,t||{})}))}sendStream(e,t,A,s){return i(this,void 0,void 0,(function*(){return this.request(e,t,A,s)}))}getJson(e,t={}){return i(this,void 0,void 0,(function*(){t[u.Accept]=this._getExistingOrDefaultHeader(t,u.Accept,E.ApplicationJson);const A=yield this.get(e,t);return this._processResponse(A,this.requestOptions)}))}postJson(e,t,A={}){return i(this,void 0,void 0,(function*(){const s=JSON.stringify(t,null,2);A[u.Accept]=this._getExistingOrDefaultHeader(A,u.Accept,E.ApplicationJson);A[u.ContentType]=this._getExistingOrDefaultHeader(A,u.ContentType,E.ApplicationJson);const r=yield this.post(e,s,A);return this._processResponse(r,this.requestOptions)}))}putJson(e,t,A={}){return i(this,void 0,void 0,(function*(){const s=JSON.stringify(t,null,2);A[u.Accept]=this._getExistingOrDefaultHeader(A,u.Accept,E.ApplicationJson);A[u.ContentType]=this._getExistingOrDefaultHeader(A,u.ContentType,E.ApplicationJson);const r=yield this.put(e,s,A);return this._processResponse(r,this.requestOptions)}))}patchJson(e,t,A={}){return i(this,void 0,void 0,(function*(){const s=JSON.stringify(t,null,2);A[u.Accept]=this._getExistingOrDefaultHeader(A,u.Accept,E.ApplicationJson);A[u.ContentType]=this._getExistingOrDefaultHeader(A,u.ContentType,E.ApplicationJson);const r=yield this.patch(e,s,A);return this._processResponse(r,this.requestOptions)}))}request(e,t,A,s){return i(this,void 0,void 0,(function*(){if(this._disposed){throw new Error("Client has already been disposed.")}const r=new URL(t);let o=this._prepareRequest(e,r,s);const i=this._allowRetries&&Q.includes(e)?this._maxRetries+1:1;let n=0;let a;do{a=yield this.requestRaw(o,A);if(a&&a.message&&a.message.statusCode===h.Unauthorized){let e;for(const t of this.handlers){if(t.canHandleAuthentication(a)){e=t;break}}if(e){return e.handleAuthentication(this,o,A)}else{return a}}let t=this._maxRedirects;while(a.message.statusCode&&d.includes(a.message.statusCode)&&this._allowRedirects&&t>0){const i=a.message.headers["location"];if(!i){break}const n=new URL(i);if(r.protocol==="https:"&&r.protocol!==n.protocol&&!this._allowRedirectDowngrade){throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.")}yield a.readBody();if(n.hostname!==r.hostname){for(const e in s){if(e.toLowerCase()==="authorization"){delete s[e]}}}o=this._prepareRequest(e,n,s);a=yield this.requestRaw(o,A);t--}if(!a.message.statusCode||!p.includes(a.message.statusCode)){return a}n+=1;if(n{function callbackForResult(e,t){if(e){s(e)}else if(!t){s(new Error("Unknown error"))}else{A(t)}}this.requestRawWithCallback(e,t,callbackForResult)}))}))}requestRawWithCallback(e,t,A){if(typeof t==="string"){if(!e.options.headers){e.options.headers={}}e.options.headers["Content-Length"]=Buffer.byteLength(t,"utf8")}let s=false;function handleResult(e,t){if(!s){s=true;A(e,t)}}const r=e.httpModule.request(e.options,(e=>{const t=new HttpClientResponse(e);handleResult(undefined,t)}));let o;r.on("socket",(e=>{o=e}));r.setTimeout(this._socketTimeout||3*6e4,(()=>{if(o){o.end()}handleResult(new Error(`Request timeout: ${e.options.path}`))}));r.on("error",(function(e){handleResult(e)}));if(t&&typeof t==="string"){r.write(t,"utf8")}if(t&&typeof t!=="string"){t.on("close",(function(){r.end()}));t.pipe(r)}else{r.end()}}getAgent(e){const t=new URL(e);return this._getAgent(t)}getAgentDispatcher(e){const t=new URL(e);const A=c.getProxyUrl(t);const s=A&&A.hostname;if(!s){return}return this._getProxyAgentDispatcher(t,A)}_prepareRequest(e,t,A){const s={};s.parsedUrl=t;const r=s.parsedUrl.protocol==="https:";s.httpModule=r?a:n;const o=r?443:80;s.options={};s.options.host=s.parsedUrl.hostname;s.options.port=s.parsedUrl.port?parseInt(s.parsedUrl.port):o;s.options.path=(s.parsedUrl.pathname||"")+(s.parsedUrl.search||"");s.options.method=e;s.options.headers=this._mergeHeaders(A);if(this.userAgent!=null){s.options.headers["user-agent"]=this.userAgent}s.options.agent=this._getAgent(s.parsedUrl);if(this.handlers){for(const e of this.handlers){e.prepareRequest(s.options)}}return s}_mergeHeaders(e){if(this.requestOptions&&this.requestOptions.headers){return Object.assign({},lowercaseKeys(this.requestOptions.headers),lowercaseKeys(e||{}))}return lowercaseKeys(e||{})}_getExistingOrDefaultHeader(e,t,A){let s;if(this.requestOptions&&this.requestOptions.headers){s=lowercaseKeys(this.requestOptions.headers)[t]}return e[t]||s||A}_getAgent(e){let t;const A=c.getProxyUrl(e);const s=A&&A.hostname;if(this._keepAlive&&s){t=this._proxyAgent}if(!s){t=this._agent}if(t){return t}const r=e.protocol==="https:";let o=100;if(this.requestOptions){o=this.requestOptions.maxSockets||n.globalAgent.maxSockets}if(A&&A.hostname){const e={maxSockets:o,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(A.username||A.password)&&{proxyAuth:`${A.username}:${A.password}`}),{host:A.hostname,port:A.port})};let s;const i=A.protocol==="https:";if(r){s=i?l.httpsOverHttps:l.httpsOverHttp}else{s=i?l.httpOverHttps:l.httpOverHttp}t=s(e);this._proxyAgent=t}if(!t){const e={keepAlive:this._keepAlive,maxSockets:o};t=r?new a.Agent(e):new n.Agent(e);this._agent=t}if(r&&this._ignoreSslError){t.options=Object.assign(t.options||{},{rejectUnauthorized:false})}return t}_getProxyAgentDispatcher(e,t){let A;if(this._keepAlive){A=this._proxyAgentDispatcher}if(A){return A}const s=e.protocol==="https:";A=new g.ProxyAgent(Object.assign({uri:t.href,pipelining:!this._keepAlive?0:1},(t.username||t.password)&&{token:`${t.username}:${t.password}`}));this._proxyAgentDispatcher=A;if(s&&this._ignoreSslError){A.options=Object.assign(A.options.requestTls||{},{rejectUnauthorized:false})}return A}_performExponentialBackoff(e){return i(this,void 0,void 0,(function*(){e=Math.min(C,e);const t=B*Math.pow(2,e);return new Promise((e=>setTimeout((()=>e()),t)))}))}_processResponse(e,t){return i(this,void 0,void 0,(function*(){return new Promise(((A,s)=>i(this,void 0,void 0,(function*(){const r=e.message.statusCode||0;const o={statusCode:r,result:null,headers:{}};if(r===h.NotFound){A(o)}function dateTimeDeserializer(e,t){if(typeof t==="string"){const e=new Date(t);if(!isNaN(e.valueOf())){return e}}return t}let i;let n;try{n=yield e.readBody();if(n&&n.length>0){if(t&&t.deserializeDates){i=JSON.parse(n,dateTimeDeserializer)}else{i=JSON.parse(n)}o.result=i}o.headers=e.message.headers}catch(e){}if(r>299){let e;if(i&&i.message){e=i.message}else if(n&&n.length>0){e=n}else{e=`Failed request: (${r})`}const t=new HttpClientError(e,r);t.result=o.result;s(t)}else{A(o)}}))))}))}}t.HttpClient=HttpClient;const lowercaseKeys=e=>Object.keys(e).reduce(((t,A)=>(t[A.toLowerCase()]=e[A],t)),{})},4988:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.checkBypass=t.getProxyUrl=void 0;function getProxyUrl(e){const t=e.protocol==="https:";if(checkBypass(e)){return undefined}const A=(()=>{if(t){return process.env["https_proxy"]||process.env["HTTPS_PROXY"]}else{return process.env["http_proxy"]||process.env["HTTP_PROXY"]}})();if(A){try{return new URL(A)}catch(e){if(!A.startsWith("http://")&&!A.startsWith("https://"))return new URL(`http://${A}`)}}else{return undefined}}t.getProxyUrl=getProxyUrl;function checkBypass(e){if(!e.hostname){return false}const t=e.hostname;if(isLoopbackAddress(t)){return true}const A=process.env["no_proxy"]||process.env["NO_PROXY"]||"";if(!A){return false}let s;if(e.port){s=Number(e.port)}else if(e.protocol==="http:"){s=80}else if(e.protocol==="https:"){s=443}const r=[e.hostname.toUpperCase()];if(typeof s==="number"){r.push(`${r[0]}:${s}`)}for(const e of A.split(",").map((e=>e.trim().toUpperCase())).filter((e=>e))){if(e==="*"||r.some((t=>t===e||t.endsWith(`.${e}`)||e.startsWith(".")&&t.endsWith(`${e}`)))){return true}}return false}t.checkBypass=checkBypass;function isLoopbackAddress(e){const t=e.toLowerCase();return t==="localhost"||t.startsWith("127.")||t.startsWith("[::1]")||t.startsWith("[0:0:0:0:0:0:0:1]")}},5207:function(e,t,A){"use strict";var s=this&&this.__createBinding||(Object.create?function(e,t,A,s){if(s===undefined)s=A;Object.defineProperty(e,s,{enumerable:true,get:function(){return t[A]}})}:function(e,t,A,s){if(s===undefined)s=A;e[s]=t[A]});var r=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var A in e)if(A!=="default"&&Object.hasOwnProperty.call(e,A))s(t,e,A);r(t,e);return t};var i=this&&this.__awaiter||function(e,t,A,s){function adopt(e){return e instanceof A?e:new A((function(t){t(e)}))}return new(A||(A=Promise))((function(A,r){function fulfilled(e){try{step(s.next(e))}catch(e){r(e)}}function rejected(e){try{step(s["throw"](e))}catch(e){r(e)}}function step(e){e.done?A(e.value):adopt(e.value).then(fulfilled,rejected)}step((s=s.apply(e,t||[])).next())}))};var n;Object.defineProperty(t,"__esModule",{value:true});t.getCmdPath=t.tryGetExecutablePath=t.isRooted=t.isDirectory=t.exists=t.READONLY=t.UV_FS_O_EXLOCK=t.IS_WINDOWS=t.unlink=t.symlink=t.stat=t.rmdir=t.rm=t.rename=t.readlink=t.readdir=t.open=t.mkdir=t.lstat=t.copyFile=t.chmod=void 0;const a=o(A(9896));const c=o(A(6928));n=a.promises,t.chmod=n.chmod,t.copyFile=n.copyFile,t.lstat=n.lstat,t.mkdir=n.mkdir,t.open=n.open,t.readdir=n.readdir,t.readlink=n.readlink,t.rename=n.rename,t.rm=n.rm,t.rmdir=n.rmdir,t.stat=n.stat,t.symlink=n.symlink,t.unlink=n.unlink;t.IS_WINDOWS=process.platform==="win32";t.UV_FS_O_EXLOCK=268435456;t.READONLY=a.constants.O_RDONLY;function exists(e){return i(this,void 0,void 0,(function*(){try{yield t.stat(e)}catch(e){if(e.code==="ENOENT"){return false}throw e}return true}))}t.exists=exists;function isDirectory(e,A=false){return i(this,void 0,void 0,(function*(){const s=A?yield t.stat(e):yield t.lstat(e);return s.isDirectory()}))}t.isDirectory=isDirectory;function isRooted(e){e=normalizeSeparators(e);if(!e){throw new Error('isRooted() parameter "p" cannot be empty')}if(t.IS_WINDOWS){return e.startsWith("\\")||/^[A-Z]:/i.test(e)}return e.startsWith("/")}t.isRooted=isRooted;function tryGetExecutablePath(e,A){return i(this,void 0,void 0,(function*(){let s=undefined;try{s=yield t.stat(e)}catch(t){if(t.code!=="ENOENT"){console.log(`Unexpected error attempting to determine if executable file exists '${e}': ${t}`)}}if(s&&s.isFile()){if(t.IS_WINDOWS){const t=c.extname(e).toUpperCase();if(A.some((e=>e.toUpperCase()===t))){return e}}else{if(isUnixExecutable(s)){return e}}}const r=e;for(const o of A){e=r+o;s=undefined;try{s=yield t.stat(e)}catch(t){if(t.code!=="ENOENT"){console.log(`Unexpected error attempting to determine if executable file exists '${e}': ${t}`)}}if(s&&s.isFile()){if(t.IS_WINDOWS){try{const A=c.dirname(e);const s=c.basename(e).toUpperCase();for(const r of yield t.readdir(A)){if(s===r.toUpperCase()){e=c.join(A,r);break}}}catch(t){console.log(`Unexpected error attempting to determine the actual case of the file '${e}': ${t}`)}return e}else{if(isUnixExecutable(s)){return e}}}}return""}))}t.tryGetExecutablePath=tryGetExecutablePath;function normalizeSeparators(e){e=e||"";if(t.IS_WINDOWS){e=e.replace(/\//g,"\\");return e.replace(/\\\\+/g,"\\")}return e.replace(/\/\/+/g,"/")}function isUnixExecutable(e){return(e.mode&1)>0||(e.mode&8)>0&&e.gid===process.getgid()||(e.mode&64)>0&&e.uid===process.getuid()}function getCmdPath(){var e;return(e=process.env["COMSPEC"])!==null&&e!==void 0?e:`cmd.exe`}t.getCmdPath=getCmdPath},4994:function(e,t,A){"use strict";var s=this&&this.__createBinding||(Object.create?function(e,t,A,s){if(s===undefined)s=A;Object.defineProperty(e,s,{enumerable:true,get:function(){return t[A]}})}:function(e,t,A,s){if(s===undefined)s=A;e[s]=t[A]});var r=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var A in e)if(A!=="default"&&Object.hasOwnProperty.call(e,A))s(t,e,A);r(t,e);return t};var i=this&&this.__awaiter||function(e,t,A,s){function adopt(e){return e instanceof A?e:new A((function(t){t(e)}))}return new(A||(A=Promise))((function(A,r){function fulfilled(e){try{step(s.next(e))}catch(e){r(e)}}function rejected(e){try{step(s["throw"](e))}catch(e){r(e)}}function step(e){e.done?A(e.value):adopt(e.value).then(fulfilled,rejected)}step((s=s.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});t.findInPath=t.which=t.mkdirP=t.rmRF=t.mv=t.cp=void 0;const n=A(2613);const a=o(A(6928));const c=o(A(5207));function cp(e,t,A={}){return i(this,void 0,void 0,(function*(){const{force:s,recursive:r,copySourceDirectory:o}=readCopyOptions(A);const i=(yield c.exists(t))?yield c.stat(t):null;if(i&&i.isFile()&&!s){return}const n=i&&i.isDirectory()&&o?a.join(t,a.basename(e)):t;if(!(yield c.exists(e))){throw new Error(`no such file or directory: ${e}`)}const l=yield c.stat(e);if(l.isDirectory()){if(!r){throw new Error(`Failed to copy. ${e} is a directory, but tried to copy without recursive flag.`)}else{yield cpDirRecursive(e,n,0,s)}}else{if(a.relative(e,n)===""){throw new Error(`'${n}' and '${e}' are the same file`)}yield copyFile(e,n,s)}}))}t.cp=cp;function mv(e,t,A={}){return i(this,void 0,void 0,(function*(){if(yield c.exists(t)){let s=true;if(yield c.isDirectory(t)){t=a.join(t,a.basename(e));s=yield c.exists(t)}if(s){if(A.force==null||A.force){yield rmRF(t)}else{throw new Error("Destination already exists")}}}yield mkdirP(a.dirname(t));yield c.rename(e,t)}))}t.mv=mv;function rmRF(e){return i(this,void 0,void 0,(function*(){if(c.IS_WINDOWS){if(/[*"<>|]/.test(e)){throw new Error('File path must not contain `*`, `"`, `<`, `>` or `|` on Windows')}}try{yield c.rm(e,{force:true,maxRetries:3,recursive:true,retryDelay:300})}catch(e){throw new Error(`File was unable to be removed ${e}`)}}))}t.rmRF=rmRF;function mkdirP(e){return i(this,void 0,void 0,(function*(){n.ok(e,"a path argument must be provided");yield c.mkdir(e,{recursive:true})}))}t.mkdirP=mkdirP;function which(e,t){return i(this,void 0,void 0,(function*(){if(!e){throw new Error("parameter 'tool' is required")}if(t){const t=yield which(e,false);if(!t){if(c.IS_WINDOWS){throw new Error(`Unable to locate executable file: ${e}. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also verify the file has a valid extension for an executable file.`)}else{throw new Error(`Unable to locate executable file: ${e}. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also check the file mode to verify the file is executable.`)}}return t}const A=yield findInPath(e);if(A&&A.length>0){return A[0]}return""}))}t.which=which;function findInPath(e){return i(this,void 0,void 0,(function*(){if(!e){throw new Error("parameter 'tool' is required")}const t=[];if(c.IS_WINDOWS&&process.env["PATHEXT"]){for(const e of process.env["PATHEXT"].split(a.delimiter)){if(e){t.push(e)}}}if(c.isRooted(e)){const A=yield c.tryGetExecutablePath(e,t);if(A){return[A]}return[]}if(e.includes(a.sep)){return[]}const A=[];if(process.env.PATH){for(const e of process.env.PATH.split(a.delimiter)){if(e){A.push(e)}}}const s=[];for(const r of A){const A=yield c.tryGetExecutablePath(a.join(r,e),t);if(A){s.push(A)}}return s}))}t.findInPath=findInPath;function readCopyOptions(e){const t=e.force==null?true:e.force;const A=Boolean(e.recursive);const s=e.copySourceDirectory==null?true:Boolean(e.copySourceDirectory);return{force:t,recursive:A,copySourceDirectory:s}}function cpDirRecursive(e,t,A,s){return i(this,void 0,void 0,(function*(){if(A>=255)return;A++;yield mkdirP(t);const r=yield c.readdir(e);for(const o of r){const r=`${e}/${o}`;const i=`${t}/${o}`;const n=yield c.lstat(r);if(n.isDirectory()){yield cpDirRecursive(r,i,A,s)}else{yield copyFile(r,i,s)}}yield c.chmod(t,(yield c.stat(e)).mode)}))}function copyFile(e,t,A){return i(this,void 0,void 0,(function*(){if((yield c.lstat(e)).isSymbolicLink()){try{yield c.lstat(t);yield c.unlink(t)}catch(e){if(e.code==="EPERM"){yield c.chmod(t,"0666");yield c.unlink(t)}}const A=yield c.readlink(e);yield c.symlink(A,t,c.IS_WINDOWS?"junction":null)}else if(!(yield c.exists(t))||A){yield c.copyFile(e,t)}}))}},9380:e=>{"use strict";e.exports=balanced;function balanced(e,t,A){if(e instanceof RegExp)e=maybeMatch(e,A);if(t instanceof RegExp)t=maybeMatch(t,A);var s=range(e,t,A);return s&&{start:s[0],end:s[1],pre:A.slice(0,s[0]),body:A.slice(s[0]+e.length,s[1]),post:A.slice(s[1]+t.length)}}function maybeMatch(e,t){var A=t.match(e);return A?A[0]:null}balanced.range=range;function range(e,t,A){var s,r,o,i,n;var a=A.indexOf(e);var c=A.indexOf(t,a+1);var l=a;if(a>=0&&c>0){if(e===t){return[a,c]}s=[];o=A.length;while(l>=0&&!n){if(l==a){s.push(l);a=A.indexOf(e,l+1)}else if(s.length==1){n=[s.pop(),c]}else{r=s.pop();if(r=0?a:c}if(s.length){n=[o,i]}}return n}},2732:(e,t,A)=>{var s=A(1063);var r=A(2027);var o=A(9934);var i=Function.bind;var n=i.bind(i);function bindApi(e,t,A){var s=n(o,null).apply(null,A?[t,A]:[t]);e.api={remove:s};e.remove=s;["before","error","after","wrap"].forEach((function(s){var o=A?[t,s,A]:[t,s];e[s]=e.api[s]=n(r,null).apply(null,o)}))}function HookSingular(){var e="h";var t={registry:{}};var A=s.bind(null,t,e);bindApi(A,t,e);return A}function HookCollection(){var e={registry:{}};var t=s.bind(null,e);bindApi(t,e);return t}var a=false;function Hook(){if(!a){console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4');a=true}return HookCollection()}Hook.Singular=HookSingular.bind();Hook.Collection=HookCollection.bind();e.exports=Hook;e.exports.Hook=Hook;e.exports.Singular=Hook.Singular;e.exports.Collection=Hook.Collection},2027:e=>{e.exports=addHook;function addHook(e,t,A,s){var r=s;if(!e.registry[A]){e.registry[A]=[]}if(t==="before"){s=function(e,t){return Promise.resolve().then(r.bind(null,t)).then(e.bind(null,t))}}if(t==="after"){s=function(e,t){var A;return Promise.resolve().then(e.bind(null,t)).then((function(e){A=e;return r(A,t)})).then((function(){return A}))}}if(t==="error"){s=function(e,t){return Promise.resolve().then(e.bind(null,t)).catch((function(e){return r(e,t)}))}}e.registry[A].push({hook:s,orig:r})}},1063:e=>{e.exports=register;function register(e,t,A,s){if(typeof A!=="function"){throw new Error("method for before hook must be a function")}if(!s){s={}}if(Array.isArray(t)){return t.reverse().reduce((function(t,A){return register.bind(null,e,A,t,s)}),A)()}return Promise.resolve().then((function(){if(!e.registry[t]){return A(s)}return e.registry[t].reduce((function(e,t){return t.hook.bind(null,e,s)}),A)()}))}},9934:e=>{e.exports=removeHook;function removeHook(e,t,A){if(!e.registry[t]){return}var s=e.registry[t].map((function(e){return e.orig})).indexOf(A);if(s===-1){return}e.registry[t].splice(s,1)}},4691:(e,t,A)=>{var s=A(9380);e.exports=expandTop;var r="\0SLASH"+Math.random()+"\0";var o="\0OPEN"+Math.random()+"\0";var i="\0CLOSE"+Math.random()+"\0";var n="\0COMMA"+Math.random()+"\0";var a="\0PERIOD"+Math.random()+"\0";function numeric(e){return parseInt(e,10)==e?parseInt(e,10):e.charCodeAt(0)}function escapeBraces(e){return e.split("\\\\").join(r).split("\\{").join(o).split("\\}").join(i).split("\\,").join(n).split("\\.").join(a)}function unescapeBraces(e){return e.split(r).join("\\").split(o).join("{").split(i).join("}").split(n).join(",").split(a).join(".")}function parseCommaParts(e){if(!e)return[""];var t=[];var A=s("{","}",e);if(!A)return e.split(",");var r=A.pre;var o=A.body;var i=A.post;var n=r.split(",");n[n.length-1]+="{"+o+"}";var a=parseCommaParts(i);if(i.length){n[n.length-1]+=a.shift();n.push.apply(n,a)}t.push.apply(t,n);return t}function expandTop(e){if(!e)return[];if(e.substr(0,2)==="{}"){e="\\{\\}"+e.substr(2)}return expand(escapeBraces(e),true).map(unescapeBraces)}function embrace(e){return"{"+e+"}"}function isPadded(e){return/^-?0\d/.test(e)}function lte(e,t){return e<=t}function gte(e,t){return e>=t}function expand(e,t){var A=[];var r=s("{","}",e);if(!r)return[e];var o=r.pre;var n=r.post.length?expand(r.post,false):[""];if(/\$$/.test(r.pre)){for(var a=0;a=0;if(!h&&!u){if(r.post.match(/,.*\}/)){e=r.pre+"{"+r.body+i+r.post;return expand(e)}return[e]}var E;if(h){E=r.body.split(/\.\./)}else{E=parseCommaParts(r.body);if(E.length===1){E=expand(E[0],false).map(embrace);if(E.length===1){return n.map((function(e){return r.pre+E[0]+e}))}}}var d;if(h){var p=numeric(E[0]);var Q=numeric(E[1]);var C=Math.max(E[0].length,E[1].length);var B=E.length==3?Math.abs(numeric(E[2])):1;var I=lte;var y=Q0){var D=new Array(R+1).join("0");if(b<0)k="-"+D+k.slice(1);else k=D+k}}}d.push(k)}}else{d=[];for(var S=0;S{"use strict";Object.defineProperty(t,"__esModule",{value:true});class Deprecation extends Error{constructor(e){super(e);if(Error.captureStackTrace){Error.captureStackTrace(this,this.constructor)}this.name="Deprecation"}}t.Deprecation=Deprecation},4402:e=>{"use strict";function Mime(){this._types=Object.create(null);this._extensions=Object.create(null);for(let e=0;e{"use strict";let s=A(4402);e.exports=new s(A(3725),A(8548))},8548:e=>{e.exports={"application/prs.cww":["cww"],"application/vnd.1000minds.decision-model+xml":["1km"],"application/vnd.3gpp.pic-bw-large":["plb"],"application/vnd.3gpp.pic-bw-small":["psb"],"application/vnd.3gpp.pic-bw-var":["pvb"],"application/vnd.3gpp2.tcap":["tcap"],"application/vnd.3m.post-it-notes":["pwn"],"application/vnd.accpac.simply.aso":["aso"],"application/vnd.accpac.simply.imp":["imp"],"application/vnd.acucobol":["acu"],"application/vnd.acucorp":["atc","acutc"],"application/vnd.adobe.air-application-installer-package+zip":["air"],"application/vnd.adobe.formscentral.fcdt":["fcdt"],"application/vnd.adobe.fxp":["fxp","fxpl"],"application/vnd.adobe.xdp+xml":["xdp"],"application/vnd.adobe.xfdf":["xfdf"],"application/vnd.ahead.space":["ahead"],"application/vnd.airzip.filesecure.azf":["azf"],"application/vnd.airzip.filesecure.azs":["azs"],"application/vnd.amazon.ebook":["azw"],"application/vnd.americandynamics.acc":["acc"],"application/vnd.amiga.ami":["ami"],"application/vnd.android.package-archive":["apk"],"application/vnd.anser-web-certificate-issue-initiation":["cii"],"application/vnd.anser-web-funds-transfer-initiation":["fti"],"application/vnd.antix.game-component":["atx"],"application/vnd.apple.installer+xml":["mpkg"],"application/vnd.apple.keynote":["key"],"application/vnd.apple.mpegurl":["m3u8"],"application/vnd.apple.numbers":["numbers"],"application/vnd.apple.pages":["pages"],"application/vnd.apple.pkpass":["pkpass"],"application/vnd.aristanetworks.swi":["swi"],"application/vnd.astraea-software.iota":["iota"],"application/vnd.audiograph":["aep"],"application/vnd.balsamiq.bmml+xml":["bmml"],"application/vnd.blueice.multipass":["mpm"],"application/vnd.bmi":["bmi"],"application/vnd.businessobjects":["rep"],"application/vnd.chemdraw+xml":["cdxml"],"application/vnd.chipnuts.karaoke-mmd":["mmd"],"application/vnd.cinderella":["cdy"],"application/vnd.citationstyles.style+xml":["csl"],"application/vnd.claymore":["cla"],"application/vnd.cloanto.rp9":["rp9"],"application/vnd.clonk.c4group":["c4g","c4d","c4f","c4p","c4u"],"application/vnd.cluetrust.cartomobile-config":["c11amc"],"application/vnd.cluetrust.cartomobile-config-pkg":["c11amz"],"application/vnd.commonspace":["csp"],"application/vnd.contact.cmsg":["cdbcmsg"],"application/vnd.cosmocaller":["cmc"],"application/vnd.crick.clicker":["clkx"],"application/vnd.crick.clicker.keyboard":["clkk"],"application/vnd.crick.clicker.palette":["clkp"],"application/vnd.crick.clicker.template":["clkt"],"application/vnd.crick.clicker.wordbank":["clkw"],"application/vnd.criticaltools.wbs+xml":["wbs"],"application/vnd.ctc-posml":["pml"],"application/vnd.cups-ppd":["ppd"],"application/vnd.curl.car":["car"],"application/vnd.curl.pcurl":["pcurl"],"application/vnd.dart":["dart"],"application/vnd.data-vision.rdz":["rdz"],"application/vnd.dbf":["dbf"],"application/vnd.dece.data":["uvf","uvvf","uvd","uvvd"],"application/vnd.dece.ttml+xml":["uvt","uvvt"],"application/vnd.dece.unspecified":["uvx","uvvx"],"application/vnd.dece.zip":["uvz","uvvz"],"application/vnd.denovo.fcselayout-link":["fe_launch"],"application/vnd.dna":["dna"],"application/vnd.dolby.mlp":["mlp"],"application/vnd.dpgraph":["dpg"],"application/vnd.dreamfactory":["dfac"],"application/vnd.ds-keypoint":["kpxx"],"application/vnd.dvb.ait":["ait"],"application/vnd.dvb.service":["svc"],"application/vnd.dynageo":["geo"],"application/vnd.ecowin.chart":["mag"],"application/vnd.enliven":["nml"],"application/vnd.epson.esf":["esf"],"application/vnd.epson.msf":["msf"],"application/vnd.epson.quickanime":["qam"],"application/vnd.epson.salt":["slt"],"application/vnd.epson.ssf":["ssf"],"application/vnd.eszigno3+xml":["es3","et3"],"application/vnd.ezpix-album":["ez2"],"application/vnd.ezpix-package":["ez3"],"application/vnd.fdf":["fdf"],"application/vnd.fdsn.mseed":["mseed"],"application/vnd.fdsn.seed":["seed","dataless"],"application/vnd.flographit":["gph"],"application/vnd.fluxtime.clip":["ftc"],"application/vnd.framemaker":["fm","frame","maker","book"],"application/vnd.frogans.fnc":["fnc"],"application/vnd.frogans.ltf":["ltf"],"application/vnd.fsc.weblaunch":["fsc"],"application/vnd.fujitsu.oasys":["oas"],"application/vnd.fujitsu.oasys2":["oa2"],"application/vnd.fujitsu.oasys3":["oa3"],"application/vnd.fujitsu.oasysgp":["fg5"],"application/vnd.fujitsu.oasysprs":["bh2"],"application/vnd.fujixerox.ddd":["ddd"],"application/vnd.fujixerox.docuworks":["xdw"],"application/vnd.fujixerox.docuworks.binder":["xbd"],"application/vnd.fuzzysheet":["fzs"],"application/vnd.genomatix.tuxedo":["txd"],"application/vnd.geogebra.file":["ggb"],"application/vnd.geogebra.tool":["ggt"],"application/vnd.geometry-explorer":["gex","gre"],"application/vnd.geonext":["gxt"],"application/vnd.geoplan":["g2w"],"application/vnd.geospace":["g3w"],"application/vnd.gmx":["gmx"],"application/vnd.google-apps.document":["gdoc"],"application/vnd.google-apps.presentation":["gslides"],"application/vnd.google-apps.spreadsheet":["gsheet"],"application/vnd.google-earth.kml+xml":["kml"],"application/vnd.google-earth.kmz":["kmz"],"application/vnd.grafeq":["gqf","gqs"],"application/vnd.groove-account":["gac"],"application/vnd.groove-help":["ghf"],"application/vnd.groove-identity-message":["gim"],"application/vnd.groove-injector":["grv"],"application/vnd.groove-tool-message":["gtm"],"application/vnd.groove-tool-template":["tpl"],"application/vnd.groove-vcard":["vcg"],"application/vnd.hal+xml":["hal"],"application/vnd.handheld-entertainment+xml":["zmm"],"application/vnd.hbci":["hbci"],"application/vnd.hhe.lesson-player":["les"],"application/vnd.hp-hpgl":["hpgl"],"application/vnd.hp-hpid":["hpid"],"application/vnd.hp-hps":["hps"],"application/vnd.hp-jlyt":["jlt"],"application/vnd.hp-pcl":["pcl"],"application/vnd.hp-pclxl":["pclxl"],"application/vnd.hydrostatix.sof-data":["sfd-hdstx"],"application/vnd.ibm.minipay":["mpy"],"application/vnd.ibm.modcap":["afp","listafp","list3820"],"application/vnd.ibm.rights-management":["irm"],"application/vnd.ibm.secure-container":["sc"],"application/vnd.iccprofile":["icc","icm"],"application/vnd.igloader":["igl"],"application/vnd.immervision-ivp":["ivp"],"application/vnd.immervision-ivu":["ivu"],"application/vnd.insors.igm":["igm"],"application/vnd.intercon.formnet":["xpw","xpx"],"application/vnd.intergeo":["i2g"],"application/vnd.intu.qbo":["qbo"],"application/vnd.intu.qfx":["qfx"],"application/vnd.ipunplugged.rcprofile":["rcprofile"],"application/vnd.irepository.package+xml":["irp"],"application/vnd.is-xpr":["xpr"],"application/vnd.isac.fcs":["fcs"],"application/vnd.jam":["jam"],"application/vnd.jcp.javame.midlet-rms":["rms"],"application/vnd.jisp":["jisp"],"application/vnd.joost.joda-archive":["joda"],"application/vnd.kahootz":["ktz","ktr"],"application/vnd.kde.karbon":["karbon"],"application/vnd.kde.kchart":["chrt"],"application/vnd.kde.kformula":["kfo"],"application/vnd.kde.kivio":["flw"],"application/vnd.kde.kontour":["kon"],"application/vnd.kde.kpresenter":["kpr","kpt"],"application/vnd.kde.kspread":["ksp"],"application/vnd.kde.kword":["kwd","kwt"],"application/vnd.kenameaapp":["htke"],"application/vnd.kidspiration":["kia"],"application/vnd.kinar":["kne","knp"],"application/vnd.koan":["skp","skd","skt","skm"],"application/vnd.kodak-descriptor":["sse"],"application/vnd.las.las+xml":["lasxml"],"application/vnd.llamagraphics.life-balance.desktop":["lbd"],"application/vnd.llamagraphics.life-balance.exchange+xml":["lbe"],"application/vnd.lotus-1-2-3":["123"],"application/vnd.lotus-approach":["apr"],"application/vnd.lotus-freelance":["pre"],"application/vnd.lotus-notes":["nsf"],"application/vnd.lotus-organizer":["org"],"application/vnd.lotus-screencam":["scm"],"application/vnd.lotus-wordpro":["lwp"],"application/vnd.macports.portpkg":["portpkg"],"application/vnd.mapbox-vector-tile":["mvt"],"application/vnd.mcd":["mcd"],"application/vnd.medcalcdata":["mc1"],"application/vnd.mediastation.cdkey":["cdkey"],"application/vnd.mfer":["mwf"],"application/vnd.mfmp":["mfm"],"application/vnd.micrografx.flo":["flo"],"application/vnd.micrografx.igx":["igx"],"application/vnd.mif":["mif"],"application/vnd.mobius.daf":["daf"],"application/vnd.mobius.dis":["dis"],"application/vnd.mobius.mbk":["mbk"],"application/vnd.mobius.mqy":["mqy"],"application/vnd.mobius.msl":["msl"],"application/vnd.mobius.plc":["plc"],"application/vnd.mobius.txf":["txf"],"application/vnd.mophun.application":["mpn"],"application/vnd.mophun.certificate":["mpc"],"application/vnd.mozilla.xul+xml":["xul"],"application/vnd.ms-artgalry":["cil"],"application/vnd.ms-cab-compressed":["cab"],"application/vnd.ms-excel":["xls","xlm","xla","xlc","xlt","xlw"],"application/vnd.ms-excel.addin.macroenabled.12":["xlam"],"application/vnd.ms-excel.sheet.binary.macroenabled.12":["xlsb"],"application/vnd.ms-excel.sheet.macroenabled.12":["xlsm"],"application/vnd.ms-excel.template.macroenabled.12":["xltm"],"application/vnd.ms-fontobject":["eot"],"application/vnd.ms-htmlhelp":["chm"],"application/vnd.ms-ims":["ims"],"application/vnd.ms-lrm":["lrm"],"application/vnd.ms-officetheme":["thmx"],"application/vnd.ms-outlook":["msg"],"application/vnd.ms-pki.seccat":["cat"],"application/vnd.ms-pki.stl":["*stl"],"application/vnd.ms-powerpoint":["ppt","pps","pot"],"application/vnd.ms-powerpoint.addin.macroenabled.12":["ppam"],"application/vnd.ms-powerpoint.presentation.macroenabled.12":["pptm"],"application/vnd.ms-powerpoint.slide.macroenabled.12":["sldm"],"application/vnd.ms-powerpoint.slideshow.macroenabled.12":["ppsm"],"application/vnd.ms-powerpoint.template.macroenabled.12":["potm"],"application/vnd.ms-project":["mpp","mpt"],"application/vnd.ms-word.document.macroenabled.12":["docm"],"application/vnd.ms-word.template.macroenabled.12":["dotm"],"application/vnd.ms-works":["wps","wks","wcm","wdb"],"application/vnd.ms-wpl":["wpl"],"application/vnd.ms-xpsdocument":["xps"],"application/vnd.mseq":["mseq"],"application/vnd.musician":["mus"],"application/vnd.muvee.style":["msty"],"application/vnd.mynfc":["taglet"],"application/vnd.neurolanguage.nlu":["nlu"],"application/vnd.nitf":["ntf","nitf"],"application/vnd.noblenet-directory":["nnd"],"application/vnd.noblenet-sealer":["nns"],"application/vnd.noblenet-web":["nnw"],"application/vnd.nokia.n-gage.ac+xml":["*ac"],"application/vnd.nokia.n-gage.data":["ngdat"],"application/vnd.nokia.n-gage.symbian.install":["n-gage"],"application/vnd.nokia.radio-preset":["rpst"],"application/vnd.nokia.radio-presets":["rpss"],"application/vnd.novadigm.edm":["edm"],"application/vnd.novadigm.edx":["edx"],"application/vnd.novadigm.ext":["ext"],"application/vnd.oasis.opendocument.chart":["odc"],"application/vnd.oasis.opendocument.chart-template":["otc"],"application/vnd.oasis.opendocument.database":["odb"],"application/vnd.oasis.opendocument.formula":["odf"],"application/vnd.oasis.opendocument.formula-template":["odft"],"application/vnd.oasis.opendocument.graphics":["odg"],"application/vnd.oasis.opendocument.graphics-template":["otg"],"application/vnd.oasis.opendocument.image":["odi"],"application/vnd.oasis.opendocument.image-template":["oti"],"application/vnd.oasis.opendocument.presentation":["odp"],"application/vnd.oasis.opendocument.presentation-template":["otp"],"application/vnd.oasis.opendocument.spreadsheet":["ods"],"application/vnd.oasis.opendocument.spreadsheet-template":["ots"],"application/vnd.oasis.opendocument.text":["odt"],"application/vnd.oasis.opendocument.text-master":["odm"],"application/vnd.oasis.opendocument.text-template":["ott"],"application/vnd.oasis.opendocument.text-web":["oth"],"application/vnd.olpc-sugar":["xo"],"application/vnd.oma.dd2+xml":["dd2"],"application/vnd.openblox.game+xml":["obgx"],"application/vnd.openofficeorg.extension":["oxt"],"application/vnd.openstreetmap.data+xml":["osm"],"application/vnd.openxmlformats-officedocument.presentationml.presentation":["pptx"],"application/vnd.openxmlformats-officedocument.presentationml.slide":["sldx"],"application/vnd.openxmlformats-officedocument.presentationml.slideshow":["ppsx"],"application/vnd.openxmlformats-officedocument.presentationml.template":["potx"],"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":["xlsx"],"application/vnd.openxmlformats-officedocument.spreadsheetml.template":["xltx"],"application/vnd.openxmlformats-officedocument.wordprocessingml.document":["docx"],"application/vnd.openxmlformats-officedocument.wordprocessingml.template":["dotx"],"application/vnd.osgeo.mapguide.package":["mgp"],"application/vnd.osgi.dp":["dp"],"application/vnd.osgi.subsystem":["esa"],"application/vnd.palm":["pdb","pqa","oprc"],"application/vnd.pawaafile":["paw"],"application/vnd.pg.format":["str"],"application/vnd.pg.osasli":["ei6"],"application/vnd.picsel":["efif"],"application/vnd.pmi.widget":["wg"],"application/vnd.pocketlearn":["plf"],"application/vnd.powerbuilder6":["pbd"],"application/vnd.previewsystems.box":["box"],"application/vnd.proteus.magazine":["mgz"],"application/vnd.publishare-delta-tree":["qps"],"application/vnd.pvi.ptid1":["ptid"],"application/vnd.quark.quarkxpress":["qxd","qxt","qwd","qwt","qxl","qxb"],"application/vnd.rar":["rar"],"application/vnd.realvnc.bed":["bed"],"application/vnd.recordare.musicxml":["mxl"],"application/vnd.recordare.musicxml+xml":["musicxml"],"application/vnd.rig.cryptonote":["cryptonote"],"application/vnd.rim.cod":["cod"],"application/vnd.rn-realmedia":["rm"],"application/vnd.rn-realmedia-vbr":["rmvb"],"application/vnd.route66.link66+xml":["link66"],"application/vnd.sailingtracker.track":["st"],"application/vnd.seemail":["see"],"application/vnd.sema":["sema"],"application/vnd.semd":["semd"],"application/vnd.semf":["semf"],"application/vnd.shana.informed.formdata":["ifm"],"application/vnd.shana.informed.formtemplate":["itp"],"application/vnd.shana.informed.interchange":["iif"],"application/vnd.shana.informed.package":["ipk"],"application/vnd.simtech-mindmapper":["twd","twds"],"application/vnd.smaf":["mmf"],"application/vnd.smart.teacher":["teacher"],"application/vnd.software602.filler.form+xml":["fo"],"application/vnd.solent.sdkm+xml":["sdkm","sdkd"],"application/vnd.spotfire.dxp":["dxp"],"application/vnd.spotfire.sfs":["sfs"],"application/vnd.stardivision.calc":["sdc"],"application/vnd.stardivision.draw":["sda"],"application/vnd.stardivision.impress":["sdd"],"application/vnd.stardivision.math":["smf"],"application/vnd.stardivision.writer":["sdw","vor"],"application/vnd.stardivision.writer-global":["sgl"],"application/vnd.stepmania.package":["smzip"],"application/vnd.stepmania.stepchart":["sm"],"application/vnd.sun.wadl+xml":["wadl"],"application/vnd.sun.xml.calc":["sxc"],"application/vnd.sun.xml.calc.template":["stc"],"application/vnd.sun.xml.draw":["sxd"],"application/vnd.sun.xml.draw.template":["std"],"application/vnd.sun.xml.impress":["sxi"],"application/vnd.sun.xml.impress.template":["sti"],"application/vnd.sun.xml.math":["sxm"],"application/vnd.sun.xml.writer":["sxw"],"application/vnd.sun.xml.writer.global":["sxg"],"application/vnd.sun.xml.writer.template":["stw"],"application/vnd.sus-calendar":["sus","susp"],"application/vnd.svd":["svd"],"application/vnd.symbian.install":["sis","sisx"],"application/vnd.syncml+xml":["xsm"],"application/vnd.syncml.dm+wbxml":["bdm"],"application/vnd.syncml.dm+xml":["xdm"],"application/vnd.syncml.dmddf+xml":["ddf"],"application/vnd.tao.intent-module-archive":["tao"],"application/vnd.tcpdump.pcap":["pcap","cap","dmp"],"application/vnd.tmobile-livetv":["tmo"],"application/vnd.trid.tpt":["tpt"],"application/vnd.triscape.mxs":["mxs"],"application/vnd.trueapp":["tra"],"application/vnd.ufdl":["ufd","ufdl"],"application/vnd.uiq.theme":["utz"],"application/vnd.umajin":["umj"],"application/vnd.unity":["unityweb"],"application/vnd.uoml+xml":["uoml"],"application/vnd.vcx":["vcx"],"application/vnd.visio":["vsd","vst","vss","vsw"],"application/vnd.visionary":["vis"],"application/vnd.vsf":["vsf"],"application/vnd.wap.wbxml":["wbxml"],"application/vnd.wap.wmlc":["wmlc"],"application/vnd.wap.wmlscriptc":["wmlsc"],"application/vnd.webturbo":["wtb"],"application/vnd.wolfram.player":["nbp"],"application/vnd.wordperfect":["wpd"],"application/vnd.wqd":["wqd"],"application/vnd.wt.stf":["stf"],"application/vnd.xara":["xar"],"application/vnd.xfdl":["xfdl"],"application/vnd.yamaha.hv-dic":["hvd"],"application/vnd.yamaha.hv-script":["hvs"],"application/vnd.yamaha.hv-voice":["hvp"],"application/vnd.yamaha.openscoreformat":["osf"],"application/vnd.yamaha.openscoreformat.osfpvg+xml":["osfpvg"],"application/vnd.yamaha.smaf-audio":["saf"],"application/vnd.yamaha.smaf-phrase":["spf"],"application/vnd.yellowriver-custom-menu":["cmp"],"application/vnd.zul":["zir","zirz"],"application/vnd.zzazz.deck+xml":["zaz"],"application/x-7z-compressed":["7z"],"application/x-abiword":["abw"],"application/x-ace-compressed":["ace"],"application/x-apple-diskimage":["*dmg"],"application/x-arj":["arj"],"application/x-authorware-bin":["aab","x32","u32","vox"],"application/x-authorware-map":["aam"],"application/x-authorware-seg":["aas"],"application/x-bcpio":["bcpio"],"application/x-bdoc":["*bdoc"],"application/x-bittorrent":["torrent"],"application/x-blorb":["blb","blorb"],"application/x-bzip":["bz"],"application/x-bzip2":["bz2","boz"],"application/x-cbr":["cbr","cba","cbt","cbz","cb7"],"application/x-cdlink":["vcd"],"application/x-cfs-compressed":["cfs"],"application/x-chat":["chat"],"application/x-chess-pgn":["pgn"],"application/x-chrome-extension":["crx"],"application/x-cocoa":["cco"],"application/x-conference":["nsc"],"application/x-cpio":["cpio"],"application/x-csh":["csh"],"application/x-debian-package":["*deb","udeb"],"application/x-dgc-compressed":["dgc"],"application/x-director":["dir","dcr","dxr","cst","cct","cxt","w3d","fgd","swa"],"application/x-doom":["wad"],"application/x-dtbncx+xml":["ncx"],"application/x-dtbook+xml":["dtb"],"application/x-dtbresource+xml":["res"],"application/x-dvi":["dvi"],"application/x-envoy":["evy"],"application/x-eva":["eva"],"application/x-font-bdf":["bdf"],"application/x-font-ghostscript":["gsf"],"application/x-font-linux-psf":["psf"],"application/x-font-pcf":["pcf"],"application/x-font-snf":["snf"],"application/x-font-type1":["pfa","pfb","pfm","afm"],"application/x-freearc":["arc"],"application/x-futuresplash":["spl"],"application/x-gca-compressed":["gca"],"application/x-glulx":["ulx"],"application/x-gnumeric":["gnumeric"],"application/x-gramps-xml":["gramps"],"application/x-gtar":["gtar"],"application/x-hdf":["hdf"],"application/x-httpd-php":["php"],"application/x-install-instructions":["install"],"application/x-iso9660-image":["*iso"],"application/x-iwork-keynote-sffkey":["*key"],"application/x-iwork-numbers-sffnumbers":["*numbers"],"application/x-iwork-pages-sffpages":["*pages"],"application/x-java-archive-diff":["jardiff"],"application/x-java-jnlp-file":["jnlp"],"application/x-keepass2":["kdbx"],"application/x-latex":["latex"],"application/x-lua-bytecode":["luac"],"application/x-lzh-compressed":["lzh","lha"],"application/x-makeself":["run"],"application/x-mie":["mie"],"application/x-mobipocket-ebook":["prc","mobi"],"application/x-ms-application":["application"],"application/x-ms-shortcut":["lnk"],"application/x-ms-wmd":["wmd"],"application/x-ms-wmz":["wmz"],"application/x-ms-xbap":["xbap"],"application/x-msaccess":["mdb"],"application/x-msbinder":["obd"],"application/x-mscardfile":["crd"],"application/x-msclip":["clp"],"application/x-msdos-program":["*exe"],"application/x-msdownload":["*exe","*dll","com","bat","*msi"],"application/x-msmediaview":["mvb","m13","m14"],"application/x-msmetafile":["*wmf","*wmz","*emf","emz"],"application/x-msmoney":["mny"],"application/x-mspublisher":["pub"],"application/x-msschedule":["scd"],"application/x-msterminal":["trm"],"application/x-mswrite":["wri"],"application/x-netcdf":["nc","cdf"],"application/x-ns-proxy-autoconfig":["pac"],"application/x-nzb":["nzb"],"application/x-perl":["pl","pm"],"application/x-pilot":["*prc","*pdb"],"application/x-pkcs12":["p12","pfx"],"application/x-pkcs7-certificates":["p7b","spc"],"application/x-pkcs7-certreqresp":["p7r"],"application/x-rar-compressed":["*rar"],"application/x-redhat-package-manager":["rpm"],"application/x-research-info-systems":["ris"],"application/x-sea":["sea"],"application/x-sh":["sh"],"application/x-shar":["shar"],"application/x-shockwave-flash":["swf"],"application/x-silverlight-app":["xap"],"application/x-sql":["sql"],"application/x-stuffit":["sit"],"application/x-stuffitx":["sitx"],"application/x-subrip":["srt"],"application/x-sv4cpio":["sv4cpio"],"application/x-sv4crc":["sv4crc"],"application/x-t3vm-image":["t3"],"application/x-tads":["gam"],"application/x-tar":["tar"],"application/x-tcl":["tcl","tk"],"application/x-tex":["tex"],"application/x-tex-tfm":["tfm"],"application/x-texinfo":["texinfo","texi"],"application/x-tgif":["*obj"],"application/x-ustar":["ustar"],"application/x-virtualbox-hdd":["hdd"],"application/x-virtualbox-ova":["ova"],"application/x-virtualbox-ovf":["ovf"],"application/x-virtualbox-vbox":["vbox"],"application/x-virtualbox-vbox-extpack":["vbox-extpack"],"application/x-virtualbox-vdi":["vdi"],"application/x-virtualbox-vhd":["vhd"],"application/x-virtualbox-vmdk":["vmdk"],"application/x-wais-source":["src"],"application/x-web-app-manifest+json":["webapp"],"application/x-x509-ca-cert":["der","crt","pem"],"application/x-xfig":["fig"],"application/x-xliff+xml":["*xlf"],"application/x-xpinstall":["xpi"],"application/x-xz":["xz"],"application/x-zmachine":["z1","z2","z3","z4","z5","z6","z7","z8"],"audio/vnd.dece.audio":["uva","uvva"],"audio/vnd.digital-winds":["eol"],"audio/vnd.dra":["dra"],"audio/vnd.dts":["dts"],"audio/vnd.dts.hd":["dtshd"],"audio/vnd.lucent.voice":["lvp"],"audio/vnd.ms-playready.media.pya":["pya"],"audio/vnd.nuera.ecelp4800":["ecelp4800"],"audio/vnd.nuera.ecelp7470":["ecelp7470"],"audio/vnd.nuera.ecelp9600":["ecelp9600"],"audio/vnd.rip":["rip"],"audio/x-aac":["aac"],"audio/x-aiff":["aif","aiff","aifc"],"audio/x-caf":["caf"],"audio/x-flac":["flac"],"audio/x-m4a":["*m4a"],"audio/x-matroska":["mka"],"audio/x-mpegurl":["m3u"],"audio/x-ms-wax":["wax"],"audio/x-ms-wma":["wma"],"audio/x-pn-realaudio":["ram","ra"],"audio/x-pn-realaudio-plugin":["rmp"],"audio/x-realaudio":["*ra"],"audio/x-wav":["*wav"],"chemical/x-cdx":["cdx"],"chemical/x-cif":["cif"],"chemical/x-cmdf":["cmdf"],"chemical/x-cml":["cml"],"chemical/x-csml":["csml"],"chemical/x-xyz":["xyz"],"image/prs.btif":["btif"],"image/prs.pti":["pti"],"image/vnd.adobe.photoshop":["psd"],"image/vnd.airzip.accelerator.azv":["azv"],"image/vnd.dece.graphic":["uvi","uvvi","uvg","uvvg"],"image/vnd.djvu":["djvu","djv"],"image/vnd.dvb.subtitle":["*sub"],"image/vnd.dwg":["dwg"],"image/vnd.dxf":["dxf"],"image/vnd.fastbidsheet":["fbs"],"image/vnd.fpx":["fpx"],"image/vnd.fst":["fst"],"image/vnd.fujixerox.edmics-mmr":["mmr"],"image/vnd.fujixerox.edmics-rlc":["rlc"],"image/vnd.microsoft.icon":["ico"],"image/vnd.ms-dds":["dds"],"image/vnd.ms-modi":["mdi"],"image/vnd.ms-photo":["wdp"],"image/vnd.net-fpx":["npx"],"image/vnd.pco.b16":["b16"],"image/vnd.tencent.tap":["tap"],"image/vnd.valve.source.texture":["vtf"],"image/vnd.wap.wbmp":["wbmp"],"image/vnd.xiff":["xif"],"image/vnd.zbrush.pcx":["pcx"],"image/x-3ds":["3ds"],"image/x-cmu-raster":["ras"],"image/x-cmx":["cmx"],"image/x-freehand":["fh","fhc","fh4","fh5","fh7"],"image/x-icon":["*ico"],"image/x-jng":["jng"],"image/x-mrsid-image":["sid"],"image/x-ms-bmp":["*bmp"],"image/x-pcx":["*pcx"],"image/x-pict":["pic","pct"],"image/x-portable-anymap":["pnm"],"image/x-portable-bitmap":["pbm"],"image/x-portable-graymap":["pgm"],"image/x-portable-pixmap":["ppm"],"image/x-rgb":["rgb"],"image/x-tga":["tga"],"image/x-xbitmap":["xbm"],"image/x-xpixmap":["xpm"],"image/x-xwindowdump":["xwd"],"message/vnd.wfa.wsc":["wsc"],"model/vnd.collada+xml":["dae"],"model/vnd.dwf":["dwf"],"model/vnd.gdl":["gdl"],"model/vnd.gtw":["gtw"],"model/vnd.mts":["mts"],"model/vnd.opengex":["ogex"],"model/vnd.parasolid.transmit.binary":["x_b"],"model/vnd.parasolid.transmit.text":["x_t"],"model/vnd.sap.vds":["vds"],"model/vnd.usdz+zip":["usdz"],"model/vnd.valve.source.compiled-map":["bsp"],"model/vnd.vtu":["vtu"],"text/prs.lines.tag":["dsc"],"text/vnd.curl":["curl"],"text/vnd.curl.dcurl":["dcurl"],"text/vnd.curl.mcurl":["mcurl"],"text/vnd.curl.scurl":["scurl"],"text/vnd.dvb.subtitle":["sub"],"text/vnd.fly":["fly"],"text/vnd.fmi.flexstor":["flx"],"text/vnd.graphviz":["gv"],"text/vnd.in3d.3dml":["3dml"],"text/vnd.in3d.spot":["spot"],"text/vnd.sun.j2me.app-descriptor":["jad"],"text/vnd.wap.wml":["wml"],"text/vnd.wap.wmlscript":["wmls"],"text/x-asm":["s","asm"],"text/x-c":["c","cc","cxx","cpp","h","hh","dic"],"text/x-component":["htc"],"text/x-fortran":["f","for","f77","f90"],"text/x-handlebars-template":["hbs"],"text/x-java-source":["java"],"text/x-lua":["lua"],"text/x-markdown":["mkd"],"text/x-nfo":["nfo"],"text/x-opml":["opml"],"text/x-org":["*org"],"text/x-pascal":["p","pas"],"text/x-processing":["pde"],"text/x-sass":["sass"],"text/x-scss":["scss"],"text/x-setext":["etx"],"text/x-sfv":["sfv"],"text/x-suse-ymp":["ymp"],"text/x-uuencode":["uu"],"text/x-vcalendar":["vcs"],"text/x-vcard":["vcf"],"video/vnd.dece.hd":["uvh","uvvh"],"video/vnd.dece.mobile":["uvm","uvvm"],"video/vnd.dece.pd":["uvp","uvvp"],"video/vnd.dece.sd":["uvs","uvvs"],"video/vnd.dece.video":["uvv","uvvv"],"video/vnd.dvb.file":["dvb"],"video/vnd.fvt":["fvt"],"video/vnd.mpegurl":["mxu","m4u"],"video/vnd.ms-playready.media.pyv":["pyv"],"video/vnd.uvvu.mp4":["uvu","uvvu"],"video/vnd.vivo":["viv"],"video/x-f4v":["f4v"],"video/x-fli":["fli"],"video/x-flv":["flv"],"video/x-m4v":["m4v"],"video/x-matroska":["mkv","mk3d","mks"],"video/x-mng":["mng"],"video/x-ms-asf":["asf","asx"],"video/x-ms-vob":["vob"],"video/x-ms-wm":["wm"],"video/x-ms-wmv":["wmv"],"video/x-ms-wmx":["wmx"],"video/x-ms-wvx":["wvx"],"video/x-msvideo":["avi"],"video/x-sgi-movie":["movie"],"video/x-smv":["smv"],"x-conference/x-cooltalk":["ice"]}},3725:e=>{e.exports={"application/andrew-inset":["ez"],"application/applixware":["aw"],"application/atom+xml":["atom"],"application/atomcat+xml":["atomcat"],"application/atomdeleted+xml":["atomdeleted"],"application/atomsvc+xml":["atomsvc"],"application/atsc-dwd+xml":["dwd"],"application/atsc-held+xml":["held"],"application/atsc-rsat+xml":["rsat"],"application/bdoc":["bdoc"],"application/calendar+xml":["xcs"],"application/ccxml+xml":["ccxml"],"application/cdfx+xml":["cdfx"],"application/cdmi-capability":["cdmia"],"application/cdmi-container":["cdmic"],"application/cdmi-domain":["cdmid"],"application/cdmi-object":["cdmio"],"application/cdmi-queue":["cdmiq"],"application/cu-seeme":["cu"],"application/dash+xml":["mpd"],"application/davmount+xml":["davmount"],"application/docbook+xml":["dbk"],"application/dssc+der":["dssc"],"application/dssc+xml":["xdssc"],"application/ecmascript":["es","ecma"],"application/emma+xml":["emma"],"application/emotionml+xml":["emotionml"],"application/epub+zip":["epub"],"application/exi":["exi"],"application/express":["exp"],"application/fdt+xml":["fdt"],"application/font-tdpfr":["pfr"],"application/geo+json":["geojson"],"application/gml+xml":["gml"],"application/gpx+xml":["gpx"],"application/gxf":["gxf"],"application/gzip":["gz"],"application/hjson":["hjson"],"application/hyperstudio":["stk"],"application/inkml+xml":["ink","inkml"],"application/ipfix":["ipfix"],"application/its+xml":["its"],"application/java-archive":["jar","war","ear"],"application/java-serialized-object":["ser"],"application/java-vm":["class"],"application/javascript":["js","mjs"],"application/json":["json","map"],"application/json5":["json5"],"application/jsonml+json":["jsonml"],"application/ld+json":["jsonld"],"application/lgr+xml":["lgr"],"application/lost+xml":["lostxml"],"application/mac-binhex40":["hqx"],"application/mac-compactpro":["cpt"],"application/mads+xml":["mads"],"application/manifest+json":["webmanifest"],"application/marc":["mrc"],"application/marcxml+xml":["mrcx"],"application/mathematica":["ma","nb","mb"],"application/mathml+xml":["mathml"],"application/mbox":["mbox"],"application/mediaservercontrol+xml":["mscml"],"application/metalink+xml":["metalink"],"application/metalink4+xml":["meta4"],"application/mets+xml":["mets"],"application/mmt-aei+xml":["maei"],"application/mmt-usd+xml":["musd"],"application/mods+xml":["mods"],"application/mp21":["m21","mp21"],"application/mp4":["mp4s","m4p"],"application/msword":["doc","dot"],"application/mxf":["mxf"],"application/n-quads":["nq"],"application/n-triples":["nt"],"application/node":["cjs"],"application/octet-stream":["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","exe","dll","deb","dmg","iso","img","msi","msp","msm","buffer"],"application/oda":["oda"],"application/oebps-package+xml":["opf"],"application/ogg":["ogx"],"application/omdoc+xml":["omdoc"],"application/onenote":["onetoc","onetoc2","onetmp","onepkg"],"application/oxps":["oxps"],"application/p2p-overlay+xml":["relo"],"application/patch-ops-error+xml":["xer"],"application/pdf":["pdf"],"application/pgp-encrypted":["pgp"],"application/pgp-signature":["asc","sig"],"application/pics-rules":["prf"],"application/pkcs10":["p10"],"application/pkcs7-mime":["p7m","p7c"],"application/pkcs7-signature":["p7s"],"application/pkcs8":["p8"],"application/pkix-attr-cert":["ac"],"application/pkix-cert":["cer"],"application/pkix-crl":["crl"],"application/pkix-pkipath":["pkipath"],"application/pkixcmp":["pki"],"application/pls+xml":["pls"],"application/postscript":["ai","eps","ps"],"application/provenance+xml":["provx"],"application/pskc+xml":["pskcxml"],"application/raml+yaml":["raml"],"application/rdf+xml":["rdf","owl"],"application/reginfo+xml":["rif"],"application/relax-ng-compact-syntax":["rnc"],"application/resource-lists+xml":["rl"],"application/resource-lists-diff+xml":["rld"],"application/rls-services+xml":["rs"],"application/route-apd+xml":["rapd"],"application/route-s-tsid+xml":["sls"],"application/route-usd+xml":["rusd"],"application/rpki-ghostbusters":["gbr"],"application/rpki-manifest":["mft"],"application/rpki-roa":["roa"],"application/rsd+xml":["rsd"],"application/rss+xml":["rss"],"application/rtf":["rtf"],"application/sbml+xml":["sbml"],"application/scvp-cv-request":["scq"],"application/scvp-cv-response":["scs"],"application/scvp-vp-request":["spq"],"application/scvp-vp-response":["spp"],"application/sdp":["sdp"],"application/senml+xml":["senmlx"],"application/sensml+xml":["sensmlx"],"application/set-payment-initiation":["setpay"],"application/set-registration-initiation":["setreg"],"application/shf+xml":["shf"],"application/sieve":["siv","sieve"],"application/smil+xml":["smi","smil"],"application/sparql-query":["rq"],"application/sparql-results+xml":["srx"],"application/srgs":["gram"],"application/srgs+xml":["grxml"],"application/sru+xml":["sru"],"application/ssdl+xml":["ssdl"],"application/ssml+xml":["ssml"],"application/swid+xml":["swidtag"],"application/tei+xml":["tei","teicorpus"],"application/thraud+xml":["tfi"],"application/timestamped-data":["tsd"],"application/toml":["toml"],"application/trig":["trig"],"application/ttml+xml":["ttml"],"application/ubjson":["ubj"],"application/urc-ressheet+xml":["rsheet"],"application/urc-targetdesc+xml":["td"],"application/voicexml+xml":["vxml"],"application/wasm":["wasm"],"application/widget":["wgt"],"application/winhlp":["hlp"],"application/wsdl+xml":["wsdl"],"application/wspolicy+xml":["wspolicy"],"application/xaml+xml":["xaml"],"application/xcap-att+xml":["xav"],"application/xcap-caps+xml":["xca"],"application/xcap-diff+xml":["xdf"],"application/xcap-el+xml":["xel"],"application/xcap-ns+xml":["xns"],"application/xenc+xml":["xenc"],"application/xhtml+xml":["xhtml","xht"],"application/xliff+xml":["xlf"],"application/xml":["xml","xsl","xsd","rng"],"application/xml-dtd":["dtd"],"application/xop+xml":["xop"],"application/xproc+xml":["xpl"],"application/xslt+xml":["*xsl","xslt"],"application/xspf+xml":["xspf"],"application/xv+xml":["mxml","xhvml","xvml","xvm"],"application/yang":["yang"],"application/yin+xml":["yin"],"application/zip":["zip"],"audio/3gpp":["*3gpp"],"audio/adpcm":["adp"],"audio/amr":["amr"],"audio/basic":["au","snd"],"audio/midi":["mid","midi","kar","rmi"],"audio/mobile-xmf":["mxmf"],"audio/mp3":["*mp3"],"audio/mp4":["m4a","mp4a"],"audio/mpeg":["mpga","mp2","mp2a","mp3","m2a","m3a"],"audio/ogg":["oga","ogg","spx","opus"],"audio/s3m":["s3m"],"audio/silk":["sil"],"audio/wav":["wav"],"audio/wave":["*wav"],"audio/webm":["weba"],"audio/xm":["xm"],"font/collection":["ttc"],"font/otf":["otf"],"font/ttf":["ttf"],"font/woff":["woff"],"font/woff2":["woff2"],"image/aces":["exr"],"image/apng":["apng"],"image/avif":["avif"],"image/bmp":["bmp"],"image/cgm":["cgm"],"image/dicom-rle":["drle"],"image/emf":["emf"],"image/fits":["fits"],"image/g3fax":["g3"],"image/gif":["gif"],"image/heic":["heic"],"image/heic-sequence":["heics"],"image/heif":["heif"],"image/heif-sequence":["heifs"],"image/hej2k":["hej2"],"image/hsj2":["hsj2"],"image/ief":["ief"],"image/jls":["jls"],"image/jp2":["jp2","jpg2"],"image/jpeg":["jpeg","jpg","jpe"],"image/jph":["jph"],"image/jphc":["jhc"],"image/jpm":["jpm"],"image/jpx":["jpx","jpf"],"image/jxr":["jxr"],"image/jxra":["jxra"],"image/jxrs":["jxrs"],"image/jxs":["jxs"],"image/jxsc":["jxsc"],"image/jxsi":["jxsi"],"image/jxss":["jxss"],"image/ktx":["ktx"],"image/ktx2":["ktx2"],"image/png":["png"],"image/sgi":["sgi"],"image/svg+xml":["svg","svgz"],"image/t38":["t38"],"image/tiff":["tif","tiff"],"image/tiff-fx":["tfx"],"image/webp":["webp"],"image/wmf":["wmf"],"message/disposition-notification":["disposition-notification"],"message/global":["u8msg"],"message/global-delivery-status":["u8dsn"],"message/global-disposition-notification":["u8mdn"],"message/global-headers":["u8hdr"],"message/rfc822":["eml","mime"],"model/3mf":["3mf"],"model/gltf+json":["gltf"],"model/gltf-binary":["glb"],"model/iges":["igs","iges"],"model/mesh":["msh","mesh","silo"],"model/mtl":["mtl"],"model/obj":["obj"],"model/step+xml":["stpx"],"model/step+zip":["stpz"],"model/step-xml+zip":["stpxz"],"model/stl":["stl"],"model/vrml":["wrl","vrml"],"model/x3d+binary":["*x3db","x3dbz"],"model/x3d+fastinfoset":["x3db"],"model/x3d+vrml":["*x3dv","x3dvz"],"model/x3d+xml":["x3d","x3dz"],"model/x3d-vrml":["x3dv"],"text/cache-manifest":["appcache","manifest"],"text/calendar":["ics","ifb"],"text/coffeescript":["coffee","litcoffee"],"text/css":["css"],"text/csv":["csv"],"text/html":["html","htm","shtml"],"text/jade":["jade"],"text/jsx":["jsx"],"text/less":["less"],"text/markdown":["markdown","md"],"text/mathml":["mml"],"text/mdx":["mdx"],"text/n3":["n3"],"text/plain":["txt","text","conf","def","list","log","in","ini"],"text/richtext":["rtx"],"text/rtf":["*rtf"],"text/sgml":["sgml","sgm"],"text/shex":["shex"],"text/slim":["slim","slm"],"text/spdx":["spdx"],"text/stylus":["stylus","styl"],"text/tab-separated-values":["tsv"],"text/troff":["t","tr","roff","man","me","ms"],"text/turtle":["ttl"],"text/uri-list":["uri","uris","urls"],"text/vcard":["vcard"],"text/vtt":["vtt"],"text/xml":["*xml"],"text/yaml":["yaml","yml"],"video/3gpp":["3gp","3gpp"],"video/3gpp2":["3g2"],"video/h261":["h261"],"video/h263":["h263"],"video/h264":["h264"],"video/iso.segment":["m4s"],"video/jpeg":["jpgv"],"video/jpm":["*jpm","jpgm"],"video/mj2":["mj2","mjp2"],"video/mp2t":["ts"],"video/mp4":["mp4","mp4v","mpg4"],"video/mpeg":["mpeg","mpg","mpe","m1v","m2v"],"video/ogg":["ogv"],"video/quicktime":["qt","mov"],"video/webm":["webm"]}},5560:(e,t,A)=>{var s=A(8264);e.exports=s(once);e.exports.strict=s(onceStrict);once.proto=once((function(){Object.defineProperty(Function.prototype,"once",{value:function(){return once(this)},configurable:true});Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return onceStrict(this)},configurable:true})}));function once(e){var f=function(){if(f.called)return f.value;f.called=true;return f.value=e.apply(this,arguments)};f.called=false;return f}function onceStrict(e){var f=function(){if(f.called)throw new Error(f.onceError);f.called=true;return f.value=e.apply(this,arguments)};var t=e.name||"Function wrapped with `once`";f.onceError=t+" shouldn't be called more than once";f.called=false;return f}},770:(e,t,A)=>{e.exports=A(218)},218:(e,t,A)=>{"use strict";var s=A(9278);var r=A(4756);var o=A(8611);var i=A(5692);var n=A(4434);var a=A(2613);var c=A(9023);t.httpOverHttp=httpOverHttp;t.httpsOverHttp=httpsOverHttp;t.httpOverHttps=httpOverHttps;t.httpsOverHttps=httpsOverHttps;function httpOverHttp(e){var t=new TunnelingAgent(e);t.request=o.request;return t}function httpsOverHttp(e){var t=new TunnelingAgent(e);t.request=o.request;t.createSocket=createSecureSocket;t.defaultPort=443;return t}function httpOverHttps(e){var t=new TunnelingAgent(e);t.request=i.request;return t}function httpsOverHttps(e){var t=new TunnelingAgent(e);t.request=i.request;t.createSocket=createSecureSocket;t.defaultPort=443;return t}function TunnelingAgent(e){var t=this;t.options=e||{};t.proxyOptions=t.options.proxy||{};t.maxSockets=t.options.maxSockets||o.Agent.defaultMaxSockets;t.requests=[];t.sockets=[];t.on("free",(function onFree(e,A,s,r){var o=toOptions(A,s,r);for(var i=0,n=t.requests.length;i=this.maxSockets){r.requests.push(o);return}r.createSocket(o,(function(t){t.on("free",onFree);t.on("close",onCloseOrRemove);t.on("agentRemove",onCloseOrRemove);e.onSocket(t);function onFree(){r.emit("free",t,o)}function onCloseOrRemove(e){r.removeSocket(t);t.removeListener("free",onFree);t.removeListener("close",onCloseOrRemove);t.removeListener("agentRemove",onCloseOrRemove)}}))};TunnelingAgent.prototype.createSocket=function createSocket(e,t){var A=this;var s={};A.sockets.push(s);var r=mergeOptions({},A.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:false,headers:{host:e.host+":"+e.port}});if(e.localAddress){r.localAddress=e.localAddress}if(r.proxyAuth){r.headers=r.headers||{};r.headers["Proxy-Authorization"]="Basic "+new Buffer(r.proxyAuth).toString("base64")}l("making CONNECT request");var o=A.request(r);o.useChunkedEncodingByDefault=false;o.once("response",onResponse);o.once("upgrade",onUpgrade);o.once("connect",onConnect);o.once("error",onError);o.end();function onResponse(e){e.upgrade=true}function onUpgrade(e,t,A){process.nextTick((function(){onConnect(e,t,A)}))}function onConnect(r,i,n){o.removeAllListeners();i.removeAllListeners();if(r.statusCode!==200){l("tunneling socket could not be established, statusCode=%d",r.statusCode);i.destroy();var a=new Error("tunneling socket could not be established, "+"statusCode="+r.statusCode);a.code="ECONNRESET";e.request.emit("error",a);A.removeSocket(s);return}if(n.length>0){l("got illegal response body from proxy");i.destroy();var a=new Error("got illegal response body from proxy");a.code="ECONNRESET";e.request.emit("error",a);A.removeSocket(s);return}l("tunneling connection has established");A.sockets[A.sockets.indexOf(s)]=i;return t(i)}function onError(t){o.removeAllListeners();l("tunneling socket could not be established, cause=%s\n",t.message,t.stack);var r=new Error("tunneling socket could not be established, "+"cause="+t.message);r.code="ECONNRESET";e.request.emit("error",r);A.removeSocket(s)}};TunnelingAgent.prototype.removeSocket=function removeSocket(e){var t=this.sockets.indexOf(e);if(t===-1){return}this.sockets.splice(t,1);var A=this.requests.shift();if(A){this.createSocket(A,(function(e){A.request.onSocket(e)}))}};function createSecureSocket(e,t){var A=this;TunnelingAgent.prototype.createSocket.call(A,e,(function(s){var o=e.request.getHeader("host");var i=mergeOptions({},A.options,{socket:s,servername:o?o.replace(/:.*$/,""):e.host});var n=r.connect(0,i);A.sockets[A.sockets.indexOf(s)]=n;t(n)}))}function toOptions(e,t,A){if(typeof e==="string"){return{host:e,port:t,localAddress:A}}return e}function mergeOptions(e){for(var t=1,A=arguments.length;t{"use strict";const s=A(6197);const r=A(992);const o=A(8707);const i=A(5076);const n=A(1093);const a=A(9965);const c=A(3440);const{InvalidArgumentError:l}=o;const g=A(6615);const h=A(9136);const u=A(7365);const E=A(7501);const d=A(4004);const p=A(2429);const Q=A(2720);const C=A(3573);const{getGlobalDispatcher:B,setGlobalDispatcher:I}=A(2581);const y=A(8840);const w=A(8299);const b=A(4415);let k;try{A(6982);k=true}catch{k=false}Object.assign(r.prototype,g);e.exports.Dispatcher=r;e.exports.Client=s;e.exports.Pool=i;e.exports.BalancedPool=n;e.exports.Agent=a;e.exports.ProxyAgent=Q;e.exports.RetryHandler=C;e.exports.DecoratorHandler=y;e.exports.RedirectHandler=w;e.exports.createRedirectInterceptor=b;e.exports.buildConnector=h;e.exports.errors=o;function makeDispatcher(e){return(t,A,s)=>{if(typeof A==="function"){s=A;A=null}if(!t||typeof t!=="string"&&typeof t!=="object"&&!(t instanceof URL)){throw new l("invalid url")}if(A!=null&&typeof A!=="object"){throw new l("invalid opts")}if(A&&A.path!=null){if(typeof A.path!=="string"){throw new l("invalid opts.path")}let e=A.path;if(!A.path.startsWith("/")){e=`/${e}`}t=new URL(c.parseOrigin(t).origin+e)}else{if(!A){A=typeof t==="object"?t:{}}t=c.parseURL(t)}const{agent:r,dispatcher:o=B()}=A;if(r){throw new l("unsupported opts.agent. Did you mean opts.client?")}return e.call(o,{...A,origin:t.origin,path:t.search?`${t.pathname}${t.search}`:t.pathname,method:A.method||(A.body?"PUT":"GET")},s)}}e.exports.setGlobalDispatcher=I;e.exports.getGlobalDispatcher=B;if(c.nodeMajor>16||c.nodeMajor===16&&c.nodeMinor>=8){let t=null;e.exports.fetch=async function fetch(e){if(!t){t=A(2315).fetch}try{return await t(...arguments)}catch(e){if(typeof e==="object"){Error.captureStackTrace(e,this)}throw e}};e.exports.Headers=A(6349).Headers;e.exports.Response=A(8676).Response;e.exports.Request=A(5194).Request;e.exports.FormData=A(3073).FormData;e.exports.File=A(3041).File;e.exports.FileReader=A(2160).FileReader;const{setGlobalOrigin:s,getGlobalOrigin:r}=A(5628);e.exports.setGlobalOrigin=s;e.exports.getGlobalOrigin=r;const{CacheStorage:o}=A(4738);const{kConstruct:i}=A(296);e.exports.caches=new o(i)}if(c.nodeMajor>=16){const{deleteCookie:t,getCookies:s,getSetCookies:r,setCookie:o}=A(3168);e.exports.deleteCookie=t;e.exports.getCookies=s;e.exports.getSetCookies=r;e.exports.setCookie=o;const{parseMIMEType:i,serializeAMimeType:n}=A(4322);e.exports.parseMIMEType=i;e.exports.serializeAMimeType=n}if(c.nodeMajor>=18&&k){const{WebSocket:t}=A(5171);e.exports.WebSocket=t}e.exports.request=makeDispatcher(g.request);e.exports.stream=makeDispatcher(g.stream);e.exports.pipeline=makeDispatcher(g.pipeline);e.exports.connect=makeDispatcher(g.connect);e.exports.upgrade=makeDispatcher(g.upgrade);e.exports.MockClient=u;e.exports.MockPool=d;e.exports.MockAgent=E;e.exports.mockErrors=p},9965:(e,t,A)=>{"use strict";const{InvalidArgumentError:s}=A(8707);const{kClients:r,kRunning:o,kClose:i,kDestroy:n,kDispatch:a,kInterceptors:c}=A(6443);const l=A(1);const g=A(5076);const h=A(6197);const u=A(3440);const E=A(4415);const{WeakRef:d,FinalizationRegistry:p}=A(3194)();const Q=Symbol("onConnect");const C=Symbol("onDisconnect");const B=Symbol("onConnectionError");const I=Symbol("maxRedirections");const y=Symbol("onDrain");const w=Symbol("factory");const b=Symbol("finalizer");const k=Symbol("options");function defaultFactory(e,t){return t&&t.connections===1?new h(e,t):new g(e,t)}class Agent extends l{constructor({factory:e=defaultFactory,maxRedirections:t=0,connect:A,...o}={}){super();if(typeof e!=="function"){throw new s("factory must be a function.")}if(A!=null&&typeof A!=="function"&&typeof A!=="object"){throw new s("connect must be a function or an object")}if(!Number.isInteger(t)||t<0){throw new s("maxRedirections must be a positive number")}if(A&&typeof A!=="function"){A={...A}}this[c]=o.interceptors&&o.interceptors.Agent&&Array.isArray(o.interceptors.Agent)?o.interceptors.Agent:[E({maxRedirections:t})];this[k]={...u.deepClone(o),connect:A};this[k].interceptors=o.interceptors?{...o.interceptors}:undefined;this[I]=t;this[w]=e;this[r]=new Map;this[b]=new p((e=>{const t=this[r].get(e);if(t!==undefined&&t.deref()===undefined){this[r].delete(e)}}));const i=this;this[y]=(e,t)=>{i.emit("drain",e,[i,...t])};this[Q]=(e,t)=>{i.emit("connect",e,[i,...t])};this[C]=(e,t,A)=>{i.emit("disconnect",e,[i,...t],A)};this[B]=(e,t,A)=>{i.emit("connectionError",e,[i,...t],A)}}get[o](){let e=0;for(const t of this[r].values()){const A=t.deref();if(A){e+=A[o]}}return e}[a](e,t){let A;if(e.origin&&(typeof e.origin==="string"||e.origin instanceof URL)){A=String(e.origin)}else{throw new s("opts.origin must be a non-empty string or URL.")}const o=this[r].get(A);let i=o?o.deref():null;if(!i){i=this[w](e.origin,this[k]).on("drain",this[y]).on("connect",this[Q]).on("disconnect",this[C]).on("connectionError",this[B]);this[r].set(A,new d(i));this[b].register(i,A)}return i.dispatch(e,t)}async[i](){const e=[];for(const t of this[r].values()){const A=t.deref();if(A){e.push(A.close())}}await Promise.all(e)}async[n](e){const t=[];for(const A of this[r].values()){const s=A.deref();if(s){t.push(s.destroy(e))}}await Promise.all(t)}}e.exports=Agent},158:(e,t,A)=>{const{addAbortListener:s}=A(3440);const{RequestAbortedError:r}=A(8707);const o=Symbol("kListener");const i=Symbol("kSignal");function abort(e){if(e.abort){e.abort()}else{e.onError(new r)}}function addSignal(e,t){e[i]=null;e[o]=null;if(!t){return}if(t.aborted){abort(e);return}e[i]=t;e[o]=()=>{abort(e)};s(e[i],e[o])}function removeSignal(e){if(!e[i]){return}if("removeEventListener"in e[i]){e[i].removeEventListener("abort",e[o])}else{e[i].removeListener("abort",e[o])}e[i]=null;e[o]=null}e.exports={addSignal:addSignal,removeSignal:removeSignal}},4660:(e,t,A)=>{"use strict";const{AsyncResource:s}=A(290);const{InvalidArgumentError:r,RequestAbortedError:o,SocketError:i}=A(8707);const n=A(3440);const{addSignal:a,removeSignal:c}=A(158);class ConnectHandler extends s{constructor(e,t){if(!e||typeof e!=="object"){throw new r("invalid opts")}if(typeof t!=="function"){throw new r("invalid callback")}const{signal:A,opaque:s,responseHeaders:o}=e;if(A&&typeof A.on!=="function"&&typeof A.addEventListener!=="function"){throw new r("signal must be an EventEmitter or EventTarget")}super("UNDICI_CONNECT");this.opaque=s||null;this.responseHeaders=o||null;this.callback=t;this.abort=null;a(this,A)}onConnect(e,t){if(!this.callback){throw new o}this.abort=e;this.context=t}onHeaders(){throw new i("bad connect",null)}onUpgrade(e,t,A){const{callback:s,opaque:r,context:o}=this;c(this);this.callback=null;let i=t;if(i!=null){i=this.responseHeaders==="raw"?n.parseRawHeaders(t):n.parseHeaders(t)}this.runInAsyncScope(s,null,null,{statusCode:e,headers:i,socket:A,opaque:r,context:o})}onError(e){const{callback:t,opaque:A}=this;c(this);if(t){this.callback=null;queueMicrotask((()=>{this.runInAsyncScope(t,null,e,{opaque:A})}))}}}function connect(e,t){if(t===undefined){return new Promise(((t,A)=>{connect.call(this,e,((e,s)=>e?A(e):t(s)))}))}try{const A=new ConnectHandler(e,t);this.dispatch({...e,method:"CONNECT"},A)}catch(A){if(typeof t!=="function"){throw A}const s=e&&e.opaque;queueMicrotask((()=>t(A,{opaque:s})))}}e.exports=connect},6862:(e,t,A)=>{"use strict";const{Readable:s,Duplex:r,PassThrough:o}=A(2203);const{InvalidArgumentError:i,InvalidReturnValueError:n,RequestAbortedError:a}=A(8707);const c=A(3440);const{AsyncResource:l}=A(290);const{addSignal:g,removeSignal:h}=A(158);const u=A(2613);const E=Symbol("resume");class PipelineRequest extends s{constructor(){super({autoDestroy:true});this[E]=null}_read(){const{[E]:e}=this;if(e){this[E]=null;e()}}_destroy(e,t){this._read();t(e)}}class PipelineResponse extends s{constructor(e){super({autoDestroy:true});this[E]=e}_read(){this[E]()}_destroy(e,t){if(!e&&!this._readableState.endEmitted){e=new a}t(e)}}class PipelineHandler extends l{constructor(e,t){if(!e||typeof e!=="object"){throw new i("invalid opts")}if(typeof t!=="function"){throw new i("invalid handler")}const{signal:A,method:s,opaque:o,onInfo:n,responseHeaders:l}=e;if(A&&typeof A.on!=="function"&&typeof A.addEventListener!=="function"){throw new i("signal must be an EventEmitter or EventTarget")}if(s==="CONNECT"){throw new i("invalid method")}if(n&&typeof n!=="function"){throw new i("invalid onInfo callback")}super("UNDICI_PIPELINE");this.opaque=o||null;this.responseHeaders=l||null;this.handler=t;this.abort=null;this.context=null;this.onInfo=n||null;this.req=(new PipelineRequest).on("error",c.nop);this.ret=new r({readableObjectMode:e.objectMode,autoDestroy:true,read:()=>{const{body:e}=this;if(e&&e.resume){e.resume()}},write:(e,t,A)=>{const{req:s}=this;if(s.push(e,t)||s._readableState.destroyed){A()}else{s[E]=A}},destroy:(e,t)=>{const{body:A,req:s,res:r,ret:o,abort:i}=this;if(!e&&!o._readableState.endEmitted){e=new a}if(i&&e){i()}c.destroy(A,e);c.destroy(s,e);c.destroy(r,e);h(this);t(e)}}).on("prefinish",(()=>{const{req:e}=this;e.push(null)}));this.res=null;g(this,A)}onConnect(e,t){const{ret:A,res:s}=this;u(!s,"pipeline cannot be retried");if(A.destroyed){throw new a}this.abort=e;this.context=t}onHeaders(e,t,A){const{opaque:s,handler:r,context:o}=this;if(e<200){if(this.onInfo){const A=this.responseHeaders==="raw"?c.parseRawHeaders(t):c.parseHeaders(t);this.onInfo({statusCode:e,headers:A})}return}this.res=new PipelineResponse(A);let i;try{this.handler=null;const A=this.responseHeaders==="raw"?c.parseRawHeaders(t):c.parseHeaders(t);i=this.runInAsyncScope(r,null,{statusCode:e,headers:A,opaque:s,body:this.res,context:o})}catch(e){this.res.on("error",c.nop);throw e}if(!i||typeof i.on!=="function"){throw new n("expected Readable")}i.on("data",(e=>{const{ret:t,body:A}=this;if(!t.push(e)&&A.pause){A.pause()}})).on("error",(e=>{const{ret:t}=this;c.destroy(t,e)})).on("end",(()=>{const{ret:e}=this;e.push(null)})).on("close",(()=>{const{ret:e}=this;if(!e._readableState.ended){c.destroy(e,new a)}}));this.body=i}onData(e){const{res:t}=this;return t.push(e)}onComplete(e){const{res:t}=this;t.push(null)}onError(e){const{ret:t}=this;this.handler=null;c.destroy(t,e)}}function pipeline(e,t){try{const A=new PipelineHandler(e,t);this.dispatch({...e,body:A.req},A);return A.ret}catch(e){return(new o).destroy(e)}}e.exports=pipeline},4043:(e,t,A)=>{"use strict";const s=A(9927);const{InvalidArgumentError:r,RequestAbortedError:o}=A(8707);const i=A(3440);const{getResolveErrorBodyCallback:n}=A(7655);const{AsyncResource:a}=A(290);const{addSignal:c,removeSignal:l}=A(158);class RequestHandler extends a{constructor(e,t){if(!e||typeof e!=="object"){throw new r("invalid opts")}const{signal:A,method:s,opaque:o,body:n,onInfo:a,responseHeaders:l,throwOnError:g,highWaterMark:h}=e;try{if(typeof t!=="function"){throw new r("invalid callback")}if(h&&(typeof h!=="number"||h<0)){throw new r("invalid highWaterMark")}if(A&&typeof A.on!=="function"&&typeof A.addEventListener!=="function"){throw new r("signal must be an EventEmitter or EventTarget")}if(s==="CONNECT"){throw new r("invalid method")}if(a&&typeof a!=="function"){throw new r("invalid onInfo callback")}super("UNDICI_REQUEST")}catch(e){if(i.isStream(n)){i.destroy(n.on("error",i.nop),e)}throw e}this.responseHeaders=l||null;this.opaque=o||null;this.callback=t;this.res=null;this.abort=null;this.body=n;this.trailers={};this.context=null;this.onInfo=a||null;this.throwOnError=g;this.highWaterMark=h;if(i.isStream(n)){n.on("error",(e=>{this.onError(e)}))}c(this,A)}onConnect(e,t){if(!this.callback){throw new o}this.abort=e;this.context=t}onHeaders(e,t,A,r){const{callback:o,opaque:a,abort:c,context:l,responseHeaders:g,highWaterMark:h}=this;const u=g==="raw"?i.parseRawHeaders(t):i.parseHeaders(t);if(e<200){if(this.onInfo){this.onInfo({statusCode:e,headers:u})}return}const E=g==="raw"?i.parseHeaders(t):u;const d=E["content-type"];const p=new s({resume:A,abort:c,contentType:d,highWaterMark:h});this.callback=null;this.res=p;if(o!==null){if(this.throwOnError&&e>=400){this.runInAsyncScope(n,null,{callback:o,body:p,contentType:d,statusCode:e,statusMessage:r,headers:u})}else{this.runInAsyncScope(o,null,null,{statusCode:e,headers:u,trailers:this.trailers,opaque:a,body:p,context:l})}}}onData(e){const{res:t}=this;return t.push(e)}onComplete(e){const{res:t}=this;l(this);i.parseHeaders(e,this.trailers);t.push(null)}onError(e){const{res:t,callback:A,body:s,opaque:r}=this;l(this);if(A){this.callback=null;queueMicrotask((()=>{this.runInAsyncScope(A,null,e,{opaque:r})}))}if(t){this.res=null;queueMicrotask((()=>{i.destroy(t,e)}))}if(s){this.body=null;i.destroy(s,e)}}}function request(e,t){if(t===undefined){return new Promise(((t,A)=>{request.call(this,e,((e,s)=>e?A(e):t(s)))}))}try{this.dispatch(e,new RequestHandler(e,t))}catch(A){if(typeof t!=="function"){throw A}const s=e&&e.opaque;queueMicrotask((()=>t(A,{opaque:s})))}}e.exports=request;e.exports.RequestHandler=RequestHandler},3560:(e,t,A)=>{"use strict";const{finished:s,PassThrough:r}=A(2203);const{InvalidArgumentError:o,InvalidReturnValueError:i,RequestAbortedError:n}=A(8707);const a=A(3440);const{getResolveErrorBodyCallback:c}=A(7655);const{AsyncResource:l}=A(290);const{addSignal:g,removeSignal:h}=A(158);class StreamHandler extends l{constructor(e,t,A){if(!e||typeof e!=="object"){throw new o("invalid opts")}const{signal:s,method:r,opaque:i,body:n,onInfo:c,responseHeaders:l,throwOnError:h}=e;try{if(typeof A!=="function"){throw new o("invalid callback")}if(typeof t!=="function"){throw new o("invalid factory")}if(s&&typeof s.on!=="function"&&typeof s.addEventListener!=="function"){throw new o("signal must be an EventEmitter or EventTarget")}if(r==="CONNECT"){throw new o("invalid method")}if(c&&typeof c!=="function"){throw new o("invalid onInfo callback")}super("UNDICI_STREAM")}catch(e){if(a.isStream(n)){a.destroy(n.on("error",a.nop),e)}throw e}this.responseHeaders=l||null;this.opaque=i||null;this.factory=t;this.callback=A;this.res=null;this.abort=null;this.context=null;this.trailers=null;this.body=n;this.onInfo=c||null;this.throwOnError=h||false;if(a.isStream(n)){n.on("error",(e=>{this.onError(e)}))}g(this,s)}onConnect(e,t){if(!this.callback){throw new n}this.abort=e;this.context=t}onHeaders(e,t,A,o){const{factory:n,opaque:l,context:g,callback:h,responseHeaders:u}=this;const E=u==="raw"?a.parseRawHeaders(t):a.parseHeaders(t);if(e<200){if(this.onInfo){this.onInfo({statusCode:e,headers:E})}return}this.factory=null;let d;if(this.throwOnError&&e>=400){const A=u==="raw"?a.parseHeaders(t):E;const s=A["content-type"];d=new r;this.callback=null;this.runInAsyncScope(c,null,{callback:h,body:d,contentType:s,statusCode:e,statusMessage:o,headers:E})}else{if(n===null){return}d=this.runInAsyncScope(n,null,{statusCode:e,headers:E,opaque:l,context:g});if(!d||typeof d.write!=="function"||typeof d.end!=="function"||typeof d.on!=="function"){throw new i("expected Writable")}s(d,{readable:false},(e=>{const{callback:t,res:A,opaque:s,trailers:r,abort:o}=this;this.res=null;if(e||!A.readable){a.destroy(A,e)}this.callback=null;this.runInAsyncScope(t,null,e||null,{opaque:s,trailers:r});if(e){o()}}))}d.on("drain",A);this.res=d;const p=d.writableNeedDrain!==undefined?d.writableNeedDrain:d._writableState&&d._writableState.needDrain;return p!==true}onData(e){const{res:t}=this;return t?t.write(e):true}onComplete(e){const{res:t}=this;h(this);if(!t){return}this.trailers=a.parseHeaders(e);t.end()}onError(e){const{res:t,callback:A,opaque:s,body:r}=this;h(this);this.factory=null;if(t){this.res=null;a.destroy(t,e)}else if(A){this.callback=null;queueMicrotask((()=>{this.runInAsyncScope(A,null,e,{opaque:s})}))}if(r){this.body=null;a.destroy(r,e)}}}function stream(e,t,A){if(A===undefined){return new Promise(((A,s)=>{stream.call(this,e,t,((e,t)=>e?s(e):A(t)))}))}try{this.dispatch(e,new StreamHandler(e,t,A))}catch(t){if(typeof A!=="function"){throw t}const s=e&&e.opaque;queueMicrotask((()=>A(t,{opaque:s})))}}e.exports=stream},1882:(e,t,A)=>{"use strict";const{InvalidArgumentError:s,RequestAbortedError:r,SocketError:o}=A(8707);const{AsyncResource:i}=A(290);const n=A(3440);const{addSignal:a,removeSignal:c}=A(158);const l=A(2613);class UpgradeHandler extends i{constructor(e,t){if(!e||typeof e!=="object"){throw new s("invalid opts")}if(typeof t!=="function"){throw new s("invalid callback")}const{signal:A,opaque:r,responseHeaders:o}=e;if(A&&typeof A.on!=="function"&&typeof A.addEventListener!=="function"){throw new s("signal must be an EventEmitter or EventTarget")}super("UNDICI_UPGRADE");this.responseHeaders=o||null;this.opaque=r||null;this.callback=t;this.abort=null;this.context=null;a(this,A)}onConnect(e,t){if(!this.callback){throw new r}this.abort=e;this.context=null}onHeaders(){throw new o("bad upgrade",null)}onUpgrade(e,t,A){const{callback:s,opaque:r,context:o}=this;l.strictEqual(e,101);c(this);this.callback=null;const i=this.responseHeaders==="raw"?n.parseRawHeaders(t):n.parseHeaders(t);this.runInAsyncScope(s,null,null,{headers:i,socket:A,opaque:r,context:o})}onError(e){const{callback:t,opaque:A}=this;c(this);if(t){this.callback=null;queueMicrotask((()=>{this.runInAsyncScope(t,null,e,{opaque:A})}))}}}function upgrade(e,t){if(t===undefined){return new Promise(((t,A)=>{upgrade.call(this,e,((e,s)=>e?A(e):t(s)))}))}try{const A=new UpgradeHandler(e,t);this.dispatch({...e,method:e.method||"GET",upgrade:e.protocol||"Websocket"},A)}catch(A){if(typeof t!=="function"){throw A}const s=e&&e.opaque;queueMicrotask((()=>t(A,{opaque:s})))}}e.exports=upgrade},6615:(e,t,A)=>{"use strict";e.exports.request=A(4043);e.exports.stream=A(3560);e.exports.pipeline=A(6862);e.exports.upgrade=A(1882);e.exports.connect=A(4660)},9927:(e,t,A)=>{"use strict";const s=A(2613);const{Readable:r}=A(2203);const{RequestAbortedError:o,NotSupportedError:i,InvalidArgumentError:n}=A(8707);const a=A(3440);const{ReadableStreamFrom:c,toUSVString:l}=A(3440);let g;const h=Symbol("kConsume");const u=Symbol("kReading");const E=Symbol("kBody");const d=Symbol("abort");const p=Symbol("kContentType");const noop=()=>{};e.exports=class BodyReadable extends r{constructor({resume:e,abort:t,contentType:A="",highWaterMark:s=64*1024}){super({autoDestroy:true,read:e,highWaterMark:s});this._readableState.dataEmitted=false;this[d]=t;this[h]=null;this[E]=null;this[p]=A;this[u]=false}destroy(e){if(this.destroyed){return this}if(!e&&!this._readableState.endEmitted){e=new o}if(e){this[d]()}return super.destroy(e)}emit(e,...t){if(e==="data"){this._readableState.dataEmitted=true}else if(e==="error"){this._readableState.errorEmitted=true}return super.emit(e,...t)}on(e,...t){if(e==="data"||e==="readable"){this[u]=true}return super.on(e,...t)}addListener(e,...t){return this.on(e,...t)}off(e,...t){const A=super.off(e,...t);if(e==="data"||e==="readable"){this[u]=this.listenerCount("data")>0||this.listenerCount("readable")>0}return A}removeListener(e,...t){return this.off(e,...t)}push(e){if(this[h]&&e!==null&&this.readableLength===0){consumePush(this[h],e);return this[u]?super.push(e):true}return super.push(e)}async text(){return consume(this,"text")}async json(){return consume(this,"json")}async blob(){return consume(this,"blob")}async arrayBuffer(){return consume(this,"arrayBuffer")}async formData(){throw new i}get bodyUsed(){return a.isDisturbed(this)}get body(){if(!this[E]){this[E]=c(this);if(this[h]){this[E].getReader();s(this[E].locked)}}return this[E]}dump(e){let t=e&&Number.isFinite(e.limit)?e.limit:262144;const A=e&&e.signal;if(A){try{if(typeof A!=="object"||!("aborted"in A)){throw new n("signal must be an AbortSignal")}a.throwIfAborted(A)}catch(e){return Promise.reject(e)}}if(this.closed){return Promise.resolve(null)}return new Promise(((e,s)=>{const r=A?a.addAbortListener(A,(()=>{this.destroy()})):noop;this.on("close",(function(){r();if(A&&A.aborted){s(A.reason||Object.assign(new Error("The operation was aborted"),{name:"AbortError"}))}else{e(null)}})).on("error",noop).on("data",(function(e){t-=e.length;if(t<=0){this.destroy()}})).resume()}))}};function isLocked(e){return e[E]&&e[E].locked===true||e[h]}function isUnusable(e){return a.isDisturbed(e)||isLocked(e)}async function consume(e,t){if(isUnusable(e)){throw new TypeError("unusable")}s(!e[h]);return new Promise(((A,s)=>{e[h]={type:t,stream:e,resolve:A,reject:s,length:0,body:[]};e.on("error",(function(e){consumeFinish(this[h],e)})).on("close",(function(){if(this[h].body!==null){consumeFinish(this[h],new o)}}));process.nextTick(consumeStart,e[h])}))}function consumeStart(e){if(e.body===null){return}const{_readableState:t}=e.stream;for(const A of t.buffer){consumePush(e,A)}if(t.endEmitted){consumeEnd(this[h])}else{e.stream.on("end",(function(){consumeEnd(this[h])}))}e.stream.resume();while(e.stream.read()!=null){}}function consumeEnd(e){const{type:t,body:s,resolve:r,stream:o,length:i}=e;try{if(t==="text"){r(l(Buffer.concat(s)))}else if(t==="json"){r(JSON.parse(Buffer.concat(s)))}else if(t==="arrayBuffer"){const e=new Uint8Array(i);let t=0;for(const A of s){e.set(A,t);t+=A.byteLength}r(e.buffer)}else if(t==="blob"){if(!g){g=A(181).Blob}r(new g(s,{type:o[p]}))}consumeFinish(e)}catch(e){o.destroy(e)}}function consumePush(e,t){e.length+=t.length;e.body.push(t)}function consumeFinish(e,t){if(e.body===null){return}if(t){e.reject(t)}else{e.resolve()}e.type=null;e.stream=null;e.resolve=null;e.reject=null;e.length=0;e.body=null}},7655:(e,t,A)=>{const s=A(2613);const{ResponseStatusCodeError:r}=A(8707);const{toUSVString:o}=A(3440);async function getResolveErrorBodyCallback({callback:e,body:t,contentType:A,statusCode:i,statusMessage:n,headers:a}){s(t);let c=[];let l=0;for await(const e of t){c.push(e);l+=e.length;if(l>128*1024){c=null;break}}if(i===204||!A||!c){process.nextTick(e,new r(`Response status code ${i}${n?`: ${n}`:""}`,i,a));return}try{if(A.startsWith("application/json")){const t=JSON.parse(o(Buffer.concat(c)));process.nextTick(e,new r(`Response status code ${i}${n?`: ${n}`:""}`,i,a,t));return}if(A.startsWith("text/")){const t=o(Buffer.concat(c));process.nextTick(e,new r(`Response status code ${i}${n?`: ${n}`:""}`,i,a,t));return}}catch(e){}process.nextTick(e,new r(`Response status code ${i}${n?`: ${n}`:""}`,i,a))}e.exports={getResolveErrorBodyCallback:getResolveErrorBodyCallback}},1093:(e,t,A)=>{"use strict";const{BalancedPoolMissingUpstreamError:s,InvalidArgumentError:r}=A(8707);const{PoolBase:o,kClients:i,kNeedDrain:n,kAddClient:a,kRemoveClient:c,kGetDispatcher:l}=A(8640);const g=A(5076);const{kUrl:h,kInterceptors:u}=A(6443);const{parseOrigin:E}=A(3440);const d=Symbol("factory");const p=Symbol("options");const Q=Symbol("kGreatestCommonDivisor");const C=Symbol("kCurrentWeight");const B=Symbol("kIndex");const I=Symbol("kWeight");const y=Symbol("kMaxWeightPerServer");const w=Symbol("kErrorPenalty");function getGreatestCommonDivisor(e,t){if(t===0)return e;return getGreatestCommonDivisor(t,e%t)}function defaultFactory(e,t){return new g(e,t)}class BalancedPool extends o{constructor(e=[],{factory:t=defaultFactory,...A}={}){super();this[p]=A;this[B]=-1;this[C]=0;this[y]=this[p].maxWeightPerServer||100;this[w]=this[p].errorPenalty||15;if(!Array.isArray(e)){e=[e]}if(typeof t!=="function"){throw new r("factory must be a function.")}this[u]=A.interceptors&&A.interceptors.BalancedPool&&Array.isArray(A.interceptors.BalancedPool)?A.interceptors.BalancedPool:[];this[d]=t;for(const t of e){this.addUpstream(t)}this._updateBalancedPoolStats()}addUpstream(e){const t=E(e).origin;if(this[i].find((e=>e[h].origin===t&&e.closed!==true&&e.destroyed!==true))){return this}const A=this[d](t,Object.assign({},this[p]));this[a](A);A.on("connect",(()=>{A[I]=Math.min(this[y],A[I]+this[w])}));A.on("connectionError",(()=>{A[I]=Math.max(1,A[I]-this[w]);this._updateBalancedPoolStats()}));A.on("disconnect",((...e)=>{const t=e[2];if(t&&t.code==="UND_ERR_SOCKET"){A[I]=Math.max(1,A[I]-this[w]);this._updateBalancedPoolStats()}}));for(const e of this[i]){e[I]=this[y]}this._updateBalancedPoolStats();return this}_updateBalancedPoolStats(){this[Q]=this[i].map((e=>e[I])).reduce(getGreatestCommonDivisor,0)}removeUpstream(e){const t=E(e).origin;const A=this[i].find((e=>e[h].origin===t&&e.closed!==true&&e.destroyed!==true));if(A){this[c](A)}return this}get upstreams(){return this[i].filter((e=>e.closed!==true&&e.destroyed!==true)).map((e=>e[h].origin))}[l](){if(this[i].length===0){throw new s}const e=this[i].find((e=>!e[n]&&e.closed!==true&&e.destroyed!==true));if(!e){return}const t=this[i].map((e=>e[n])).reduce(((e,t)=>e&&t),true);if(t){return}let A=0;let r=this[i].findIndex((e=>!e[n]));while(A++this[i][r][I]&&!e[n]){r=this[B]}if(this[B]===0){this[C]=this[C]-this[Q];if(this[C]<=0){this[C]=this[y]}}if(e[I]>=this[C]&&!e[n]){return e}}this[C]=this[i][r][I];this[B]=r;return this[i][r]}}e.exports=BalancedPool},479:(e,t,A)=>{"use strict";const{kConstruct:s}=A(296);const{urlEquals:r,fieldValues:o}=A(3993);const{kEnumerableProperty:i,isDisturbed:n}=A(3440);const{kHeadersList:a}=A(6443);const{webidl:c}=A(4222);const{Response:l,cloneResponse:g}=A(8676);const{Request:h}=A(5194);const{kState:u,kHeaders:E,kGuard:d,kRealm:p}=A(9710);const{fetching:Q}=A(2315);const{urlIsHttpHttpsScheme:C,createDeferredPromise:B,readAllBytes:I}=A(5523);const y=A(2613);const{getGlobalDispatcher:w}=A(2581);class Cache{#e;constructor(){if(arguments[0]!==s){c.illegalConstructor()}this.#e=arguments[1]}async match(e,t={}){c.brandCheck(this,Cache);c.argumentLengthCheck(arguments,1,{header:"Cache.match"});e=c.converters.RequestInfo(e);t=c.converters.CacheQueryOptions(t);const A=await this.matchAll(e,t);if(A.length===0){return}return A[0]}async matchAll(e=undefined,t={}){c.brandCheck(this,Cache);if(e!==undefined)e=c.converters.RequestInfo(e);t=c.converters.CacheQueryOptions(t);let A=null;if(e!==undefined){if(e instanceof h){A=e[u];if(A.method!=="GET"&&!t.ignoreMethod){return[]}}else if(typeof e==="string"){A=new h(e)[u]}}const s=[];if(e===undefined){for(const e of this.#e){s.push(e[1])}}else{const e=this.#t(A,t);for(const t of e){s.push(t[1])}}const r=[];for(const e of s){const t=new l(e.body?.source??null);const A=t[u].body;t[u]=e;t[u].body=A;t[E][a]=e.headersList;t[E][d]="immutable";r.push(t)}return Object.freeze(r)}async add(e){c.brandCheck(this,Cache);c.argumentLengthCheck(arguments,1,{header:"Cache.add"});e=c.converters.RequestInfo(e);const t=[e];const A=this.addAll(t);return await A}async addAll(e){c.brandCheck(this,Cache);c.argumentLengthCheck(arguments,1,{header:"Cache.addAll"});e=c.converters["sequence"](e);const t=[];const A=[];for(const t of e){if(typeof t==="string"){continue}const e=t[u];if(!C(e.url)||e.method!=="GET"){throw c.errors.exception({header:"Cache.addAll",message:"Expected http/s scheme when method is not GET."})}}const s=[];for(const r of e){const e=new h(r)[u];if(!C(e.url)){throw c.errors.exception({header:"Cache.addAll",message:"Expected http/s scheme."})}e.initiator="fetch";e.destination="subresource";A.push(e);const i=B();s.push(Q({request:e,dispatcher:w(),processResponse(e){if(e.type==="error"||e.status===206||e.status<200||e.status>299){i.reject(c.errors.exception({header:"Cache.addAll",message:"Received an invalid status code or the request failed."}))}else if(e.headersList.contains("vary")){const t=o(e.headersList.get("vary"));for(const e of t){if(e==="*"){i.reject(c.errors.exception({header:"Cache.addAll",message:"invalid vary field value"}));for(const e of s){e.abort()}return}}}},processResponseEndOfBody(e){if(e.aborted){i.reject(new DOMException("aborted","AbortError"));return}i.resolve(e)}}));t.push(i.promise)}const r=Promise.all(t);const i=await r;const n=[];let a=0;for(const e of i){const t={type:"put",request:A[a],response:e};n.push(t);a++}const l=B();let g=null;try{this.#A(n)}catch(e){g=e}queueMicrotask((()=>{if(g===null){l.resolve(undefined)}else{l.reject(g)}}));return l.promise}async put(e,t){c.brandCheck(this,Cache);c.argumentLengthCheck(arguments,2,{header:"Cache.put"});e=c.converters.RequestInfo(e);t=c.converters.Response(t);let A=null;if(e instanceof h){A=e[u]}else{A=new h(e)[u]}if(!C(A.url)||A.method!=="GET"){throw c.errors.exception({header:"Cache.put",message:"Expected an http/s scheme when method is not GET"})}const s=t[u];if(s.status===206){throw c.errors.exception({header:"Cache.put",message:"Got 206 status"})}if(s.headersList.contains("vary")){const e=o(s.headersList.get("vary"));for(const t of e){if(t==="*"){throw c.errors.exception({header:"Cache.put",message:"Got * vary field value"})}}}if(s.body&&(n(s.body.stream)||s.body.stream.locked)){throw c.errors.exception({header:"Cache.put",message:"Response body is locked or disturbed"})}const r=g(s);const i=B();if(s.body!=null){const e=s.body.stream;const t=e.getReader();I(t).then(i.resolve,i.reject)}else{i.resolve(undefined)}const a=[];const l={type:"put",request:A,response:r};a.push(l);const E=await i.promise;if(r.body!=null){r.body.source=E}const d=B();let p=null;try{this.#A(a)}catch(e){p=e}queueMicrotask((()=>{if(p===null){d.resolve()}else{d.reject(p)}}));return d.promise}async delete(e,t={}){c.brandCheck(this,Cache);c.argumentLengthCheck(arguments,1,{header:"Cache.delete"});e=c.converters.RequestInfo(e);t=c.converters.CacheQueryOptions(t);let A=null;if(e instanceof h){A=e[u];if(A.method!=="GET"&&!t.ignoreMethod){return false}}else{y(typeof e==="string");A=new h(e)[u]}const s=[];const r={type:"delete",request:A,options:t};s.push(r);const o=B();let i=null;let n;try{n=this.#A(s)}catch(e){i=e}queueMicrotask((()=>{if(i===null){o.resolve(!!n?.length)}else{o.reject(i)}}));return o.promise}async keys(e=undefined,t={}){c.brandCheck(this,Cache);if(e!==undefined)e=c.converters.RequestInfo(e);t=c.converters.CacheQueryOptions(t);let A=null;if(e!==undefined){if(e instanceof h){A=e[u];if(A.method!=="GET"&&!t.ignoreMethod){return[]}}else if(typeof e==="string"){A=new h(e)[u]}}const s=B();const r=[];if(e===undefined){for(const e of this.#e){r.push(e[0])}}else{const e=this.#t(A,t);for(const t of e){r.push(t[0])}}queueMicrotask((()=>{const e=[];for(const t of r){const A=new h("https://a");A[u]=t;A[E][a]=t.headersList;A[E][d]="immutable";A[p]=t.client;e.push(A)}s.resolve(Object.freeze(e))}));return s.promise}#A(e){const t=this.#e;const A=[...t];const s=[];const r=[];try{for(const A of e){if(A.type!=="delete"&&A.type!=="put"){throw c.errors.exception({header:"Cache.#batchCacheOperations",message:'operation type does not match "delete" or "put"'})}if(A.type==="delete"&&A.response!=null){throw c.errors.exception({header:"Cache.#batchCacheOperations",message:"delete operation should not have an associated response"})}if(this.#t(A.request,A.options,s).length){throw new DOMException("???","InvalidStateError")}let e;if(A.type==="delete"){e=this.#t(A.request,A.options);if(e.length===0){return[]}for(const A of e){const e=t.indexOf(A);y(e!==-1);t.splice(e,1)}}else if(A.type==="put"){if(A.response==null){throw c.errors.exception({header:"Cache.#batchCacheOperations",message:"put operation should have an associated response"})}const r=A.request;if(!C(r.url)){throw c.errors.exception({header:"Cache.#batchCacheOperations",message:"expected http or https scheme"})}if(r.method!=="GET"){throw c.errors.exception({header:"Cache.#batchCacheOperations",message:"not get method"})}if(A.options!=null){throw c.errors.exception({header:"Cache.#batchCacheOperations",message:"options must not be defined"})}e=this.#t(A.request);for(const A of e){const e=t.indexOf(A);y(e!==-1);t.splice(e,1)}t.push([A.request,A.response]);s.push([A.request,A.response])}r.push([A.request,A.response])}return r}catch(e){this.#e.length=0;this.#e=A;throw e}}#t(e,t,A){const s=[];const r=A??this.#e;for(const A of r){const[r,o]=A;if(this.#s(e,r,o,t)){s.push(A)}}return s}#s(e,t,A=null,s){const i=new URL(e.url);const n=new URL(t.url);if(s?.ignoreSearch){n.search="";i.search=""}if(!r(i,n,true)){return false}if(A==null||s?.ignoreVary||!A.headersList.contains("vary")){return true}const a=o(A.headersList.get("vary"));for(const A of a){if(A==="*"){return false}const s=t.headersList.get(A);const r=e.headersList.get(A);if(s!==r){return false}}return true}}Object.defineProperties(Cache.prototype,{[Symbol.toStringTag]:{value:"Cache",configurable:true},match:i,matchAll:i,add:i,addAll:i,put:i,delete:i,keys:i});const b=[{key:"ignoreSearch",converter:c.converters.boolean,defaultValue:false},{key:"ignoreMethod",converter:c.converters.boolean,defaultValue:false},{key:"ignoreVary",converter:c.converters.boolean,defaultValue:false}];c.converters.CacheQueryOptions=c.dictionaryConverter(b);c.converters.MultiCacheQueryOptions=c.dictionaryConverter([...b,{key:"cacheName",converter:c.converters.DOMString}]);c.converters.Response=c.interfaceConverter(l);c.converters["sequence"]=c.sequenceConverter(c.converters.RequestInfo);e.exports={Cache:Cache}},4738:(e,t,A)=>{"use strict";const{kConstruct:s}=A(296);const{Cache:r}=A(479);const{webidl:o}=A(4222);const{kEnumerableProperty:i}=A(3440);class CacheStorage{#r=new Map;constructor(){if(arguments[0]!==s){o.illegalConstructor()}}async match(e,t={}){o.brandCheck(this,CacheStorage);o.argumentLengthCheck(arguments,1,{header:"CacheStorage.match"});e=o.converters.RequestInfo(e);t=o.converters.MultiCacheQueryOptions(t);if(t.cacheName!=null){if(this.#r.has(t.cacheName)){const A=this.#r.get(t.cacheName);const o=new r(s,A);return await o.match(e,t)}}else{for(const A of this.#r.values()){const o=new r(s,A);const i=await o.match(e,t);if(i!==undefined){return i}}}}async has(e){o.brandCheck(this,CacheStorage);o.argumentLengthCheck(arguments,1,{header:"CacheStorage.has"});e=o.converters.DOMString(e);return this.#r.has(e)}async open(e){o.brandCheck(this,CacheStorage);o.argumentLengthCheck(arguments,1,{header:"CacheStorage.open"});e=o.converters.DOMString(e);if(this.#r.has(e)){const t=this.#r.get(e);return new r(s,t)}const t=[];this.#r.set(e,t);return new r(s,t)}async delete(e){o.brandCheck(this,CacheStorage);o.argumentLengthCheck(arguments,1,{header:"CacheStorage.delete"});e=o.converters.DOMString(e);return this.#r.delete(e)}async keys(){o.brandCheck(this,CacheStorage);const e=this.#r.keys();return[...e]}}Object.defineProperties(CacheStorage.prototype,{[Symbol.toStringTag]:{value:"CacheStorage",configurable:true},match:i,has:i,open:i,delete:i,keys:i});e.exports={CacheStorage:CacheStorage}},296:(e,t,A)=>{"use strict";e.exports={kConstruct:A(6443).kConstruct}},3993:(e,t,A)=>{"use strict";const s=A(2613);const{URLSerializer:r}=A(4322);const{isValidHeaderName:o}=A(5523);function urlEquals(e,t,A=false){const s=r(e,A);const o=r(t,A);return s===o}function fieldValues(e){s(e!==null);const t=[];for(let A of e.split(",")){A=A.trim();if(!A.length){continue}else if(!o(A)){continue}t.push(A)}return t}e.exports={urlEquals:urlEquals,fieldValues:fieldValues}},6197:(e,t,A)=>{"use strict";const s=A(2613);const r=A(9278);const o=A(8611);const{pipeline:i}=A(2203);const n=A(3440);const a=A(8804);const c=A(4655);const l=A(1);const{RequestContentLengthMismatchError:g,ResponseContentLengthMismatchError:h,InvalidArgumentError:u,RequestAbortedError:E,HeadersTimeoutError:d,HeadersOverflowError:p,SocketError:Q,InformationalError:C,BodyTimeoutError:B,HTTPParserError:I,ResponseExceededMaxSizeError:y,ClientDestroyedError:w}=A(8707);const b=A(9136);const{kUrl:k,kReset:R,kServerName:D,kClient:S,kBusy:F,kParser:v,kConnect:T,kBlocking:N,kResuming:U,kRunning:L,kPending:G,kSize:x,kWriting:M,kQueue:_,kConnected:P,kConnecting:O,kNeedDrain:H,kNoRef:Y,kKeepAliveDefaultTimeout:J,kHostHeader:V,kPendingIdx:W,kRunningIdx:q,kError:j,kPipelining:z,kSocket:Z,kKeepAliveTimeoutValue:X,kMaxHeadersSize:K,kKeepAliveMaxTimeout:$,kKeepAliveTimeoutThreshold:ee,kHeadersTimeout:te,kBodyTimeout:Ae,kStrictContentLength:se,kConnector:re,kMaxRedirections:oe,kMaxRequests:ie,kCounter:ne,kClose:ae,kDestroy:ce,kDispatch:le,kInterceptors:ge,kLocalAddress:he,kMaxResponseSize:ue,kHTTPConnVersion:Ee,kHost:de,kHTTP2Session:pe,kHTTP2SessionState:Qe,kHTTP2BuildRequest:Ce,kHTTP2CopyHeaders:Be,kHTTP1BuildRequest:fe}=A(6443);let Ie;try{Ie=A(5675)}catch{Ie={constants:{}}}const{constants:{HTTP2_HEADER_AUTHORITY:me,HTTP2_HEADER_METHOD:ye,HTTP2_HEADER_PATH:we,HTTP2_HEADER_SCHEME:be,HTTP2_HEADER_CONTENT_LENGTH:ke,HTTP2_HEADER_EXPECT:Re,HTTP2_HEADER_STATUS:De}}=Ie;let Se=false;const Fe=Buffer[Symbol.species];const ve=Symbol("kClosedResolve");const Te={};try{const e=A(1637);Te.sendHeaders=e.channel("undici:client:sendHeaders");Te.beforeConnect=e.channel("undici:client:beforeConnect");Te.connectError=e.channel("undici:client:connectError");Te.connected=e.channel("undici:client:connected")}catch{Te.sendHeaders={hasSubscribers:false};Te.beforeConnect={hasSubscribers:false};Te.connectError={hasSubscribers:false};Te.connected={hasSubscribers:false}}class Client extends l{constructor(e,{interceptors:t,maxHeaderSize:A,headersTimeout:s,socketTimeout:i,requestTimeout:a,connectTimeout:c,bodyTimeout:l,idleTimeout:g,keepAlive:h,keepAliveTimeout:E,maxKeepAliveTimeout:d,keepAliveMaxTimeout:p,keepAliveTimeoutThreshold:Q,socketPath:C,pipelining:B,tls:I,strictContentLength:y,maxCachedSessions:w,maxRedirections:R,connect:S,maxRequestsPerClient:F,localAddress:v,maxResponseSize:T,autoSelectFamily:N,autoSelectFamilyAttemptTimeout:L,allowH2:G,maxConcurrentStreams:x}={}){super();if(h!==undefined){throw new u("unsupported keepAlive, use pipelining=0 instead")}if(i!==undefined){throw new u("unsupported socketTimeout, use headersTimeout & bodyTimeout instead")}if(a!==undefined){throw new u("unsupported requestTimeout, use headersTimeout & bodyTimeout instead")}if(g!==undefined){throw new u("unsupported idleTimeout, use keepAliveTimeout instead")}if(d!==undefined){throw new u("unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead")}if(A!=null&&!Number.isFinite(A)){throw new u("invalid maxHeaderSize")}if(C!=null&&typeof C!=="string"){throw new u("invalid socketPath")}if(c!=null&&(!Number.isFinite(c)||c<0)){throw new u("invalid connectTimeout")}if(E!=null&&(!Number.isFinite(E)||E<=0)){throw new u("invalid keepAliveTimeout")}if(p!=null&&(!Number.isFinite(p)||p<=0)){throw new u("invalid keepAliveMaxTimeout")}if(Q!=null&&!Number.isFinite(Q)){throw new u("invalid keepAliveTimeoutThreshold")}if(s!=null&&(!Number.isInteger(s)||s<0)){throw new u("headersTimeout must be a positive integer or zero")}if(l!=null&&(!Number.isInteger(l)||l<0)){throw new u("bodyTimeout must be a positive integer or zero")}if(S!=null&&typeof S!=="function"&&typeof S!=="object"){throw new u("connect must be a function or an object")}if(R!=null&&(!Number.isInteger(R)||R<0)){throw new u("maxRedirections must be a positive number")}if(F!=null&&(!Number.isInteger(F)||F<0)){throw new u("maxRequestsPerClient must be a positive number")}if(v!=null&&(typeof v!=="string"||r.isIP(v)===0)){throw new u("localAddress must be valid string IP address")}if(T!=null&&(!Number.isInteger(T)||T<-1)){throw new u("maxResponseSize must be a positive number")}if(L!=null&&(!Number.isInteger(L)||L<-1)){throw new u("autoSelectFamilyAttemptTimeout must be a positive number")}if(G!=null&&typeof G!=="boolean"){throw new u("allowH2 must be a valid boolean value")}if(x!=null&&(typeof x!=="number"||x<1)){throw new u("maxConcurrentStreams must be a possitive integer, greater than 0")}if(typeof S!=="function"){S=b({...I,maxCachedSessions:w,allowH2:G,socketPath:C,timeout:c,...n.nodeHasAutoSelectFamily&&N?{autoSelectFamily:N,autoSelectFamilyAttemptTimeout:L}:undefined,...S})}this[ge]=t&&t.Client&&Array.isArray(t.Client)?t.Client:[Ue({maxRedirections:R})];this[k]=n.parseOrigin(e);this[re]=S;this[Z]=null;this[z]=B!=null?B:1;this[K]=A||o.maxHeaderSize;this[J]=E==null?4e3:E;this[$]=p==null?6e5:p;this[ee]=Q==null?1e3:Q;this[X]=this[J];this[D]=null;this[he]=v!=null?v:null;this[U]=0;this[H]=0;this[V]=`host: ${this[k].hostname}${this[k].port?`:${this[k].port}`:""}\r\n`;this[Ae]=l!=null?l:3e5;this[te]=s!=null?s:3e5;this[se]=y==null?true:y;this[oe]=R;this[ie]=F;this[ve]=null;this[ue]=T>-1?T:-1;this[Ee]="h1";this[pe]=null;this[Qe]=!G?null:{openStreams:0,maxConcurrentStreams:x!=null?x:100};this[de]=`${this[k].hostname}${this[k].port?`:${this[k].port}`:""}`;this[_]=[];this[q]=0;this[W]=0}get pipelining(){return this[z]}set pipelining(e){this[z]=e;resume(this,true)}get[G](){return this[_].length-this[W]}get[L](){return this[W]-this[q]}get[x](){return this[_].length-this[q]}get[P](){return!!this[Z]&&!this[O]&&!this[Z].destroyed}get[F](){const e=this[Z];return e&&(e[R]||e[M]||e[N])||this[x]>=(this[z]||1)||this[G]>0}[T](e){connect(this);this.once("connect",e)}[le](e,t){const A=e.origin||this[k].origin;const s=this[Ee]==="h2"?c[Ce](A,e,t):c[fe](A,e,t);this[_].push(s);if(this[U]){}else if(n.bodyLength(s.body)==null&&n.isIterable(s.body)){this[U]=1;process.nextTick(resume,this)}else{resume(this,true)}if(this[U]&&this[H]!==2&&this[F]){this[H]=2}return this[H]<2}async[ae](){return new Promise((e=>{if(!this[x]){e(null)}else{this[ve]=e}}))}async[ce](e){return new Promise((t=>{const A=this[_].splice(this[W]);for(let t=0;t{if(this[ve]){this[ve]();this[ve]=null}t()};if(this[pe]!=null){n.destroy(this[pe],e);this[pe]=null;this[Qe]=null}if(!this[Z]){queueMicrotask(callback)}else{n.destroy(this[Z].on("close",callback),e)}resume(this)}))}}function onHttp2SessionError(e){s(e.code!=="ERR_TLS_CERT_ALTNAME_INVALID");this[Z][j]=e;onError(this[S],e)}function onHttp2FrameError(e,t,A){const s=new C(`HTTP/2: "frameError" received - type ${e}, code ${t}`);if(A===0){this[Z][j]=s;onError(this[S],s)}}function onHttp2SessionEnd(){n.destroy(this,new Q("other side closed"));n.destroy(this[Z],new Q("other side closed"))}function onHTTP2GoAway(e){const t=this[S];const A=new C(`HTTP/2: "GOAWAY" frame received with code ${e}`);t[Z]=null;t[pe]=null;if(t.destroyed){s(this[G]===0);const e=t[_].splice(t[q]);for(let t=0;t0){const e=t[_][t[q]];t[_][t[q]++]=null;errorRequest(t,e,A)}t[W]=t[q];s(t[L]===0);t.emit("disconnect",t[k],[t],A);resume(t)}const Ne=A(2824);const Ue=A(4415);const Le=Buffer.alloc(0);async function lazyllhttp(){const e=process.env.JEST_WORKER_ID?A(3870):undefined;let t;try{t=await WebAssembly.compile(Buffer.from(A(3434),"base64"))}catch(s){t=await WebAssembly.compile(Buffer.from(e||A(3870),"base64"))}return await WebAssembly.instantiate(t,{env:{wasm_on_url:(e,t,A)=>0,wasm_on_status:(e,t,A)=>{s.strictEqual(Me.ptr,e);const r=t-Oe+_e.byteOffset;return Me.onStatus(new Fe(_e.buffer,r,A))||0},wasm_on_message_begin:e=>{s.strictEqual(Me.ptr,e);return Me.onMessageBegin()||0},wasm_on_header_field:(e,t,A)=>{s.strictEqual(Me.ptr,e);const r=t-Oe+_e.byteOffset;return Me.onHeaderField(new Fe(_e.buffer,r,A))||0},wasm_on_header_value:(e,t,A)=>{s.strictEqual(Me.ptr,e);const r=t-Oe+_e.byteOffset;return Me.onHeaderValue(new Fe(_e.buffer,r,A))||0},wasm_on_headers_complete:(e,t,A,r)=>{s.strictEqual(Me.ptr,e);return Me.onHeadersComplete(t,Boolean(A),Boolean(r))||0},wasm_on_body:(e,t,A)=>{s.strictEqual(Me.ptr,e);const r=t-Oe+_e.byteOffset;return Me.onBody(new Fe(_e.buffer,r,A))||0},wasm_on_message_complete:e=>{s.strictEqual(Me.ptr,e);return Me.onMessageComplete()||0}}})}let Ge=null;let xe=lazyllhttp();xe.catch();let Me=null;let _e=null;let Pe=0;let Oe=null;const He=1;const Ye=2;const Je=3;class Parser{constructor(e,t,{exports:A}){s(Number.isFinite(e[K])&&e[K]>0);this.llhttp=A;this.ptr=this.llhttp.llhttp_alloc(Ne.TYPE.RESPONSE);this.client=e;this.socket=t;this.timeout=null;this.timeoutValue=null;this.timeoutType=null;this.statusCode=null;this.statusText="";this.upgrade=false;this.headers=[];this.headersSize=0;this.headersMaxSize=e[K];this.shouldKeepAlive=false;this.paused=false;this.resume=this.resume.bind(this);this.bytesRead=0;this.keepAlive="";this.contentLength="";this.connection="";this.maxResponseSize=e[ue]}setTimeout(e,t){this.timeoutType=t;if(e!==this.timeoutValue){a.clearTimeout(this.timeout);if(e){this.timeout=a.setTimeout(onParserTimeout,e,this);if(this.timeout.unref){this.timeout.unref()}}else{this.timeout=null}this.timeoutValue=e}else if(this.timeout){if(this.timeout.refresh){this.timeout.refresh()}}}resume(){if(this.socket.destroyed||!this.paused){return}s(this.ptr!=null);s(Me==null);this.llhttp.llhttp_resume(this.ptr);s(this.timeoutType===Ye);if(this.timeout){if(this.timeout.refresh){this.timeout.refresh()}}this.paused=false;this.execute(this.socket.read()||Le);this.readMore()}readMore(){while(!this.paused&&this.ptr){const e=this.socket.read();if(e===null){break}this.execute(e)}}execute(e){s(this.ptr!=null);s(Me==null);s(!this.paused);const{socket:t,llhttp:A}=this;if(e.length>Pe){if(Oe){A.free(Oe)}Pe=Math.ceil(e.length/4096)*4096;Oe=A.malloc(Pe)}new Uint8Array(A.memory.buffer,Oe,Pe).set(e);try{let s;try{_e=e;Me=this;s=A.llhttp_execute(this.ptr,Oe,e.length)}catch(e){throw e}finally{Me=null;_e=null}const r=A.llhttp_get_error_pos(this.ptr)-Oe;if(s===Ne.ERROR.PAUSED_UPGRADE){this.onUpgrade(e.slice(r))}else if(s===Ne.ERROR.PAUSED){this.paused=true;t.unshift(e.slice(r))}else if(s!==Ne.ERROR.OK){const t=A.llhttp_get_error_reason(this.ptr);let o="";if(t){const e=new Uint8Array(A.memory.buffer,t).indexOf(0);o="Response does not match the HTTP/1.1 protocol ("+Buffer.from(A.memory.buffer,t,e).toString()+")"}throw new I(o,Ne.ERROR[s],e.slice(r))}}catch(e){n.destroy(t,e)}}destroy(){s(this.ptr!=null);s(Me==null);this.llhttp.llhttp_free(this.ptr);this.ptr=null;a.clearTimeout(this.timeout);this.timeout=null;this.timeoutValue=null;this.timeoutType=null;this.paused=false}onStatus(e){this.statusText=e.toString()}onMessageBegin(){const{socket:e,client:t}=this;if(e.destroyed){return-1}const A=t[_][t[q]];if(!A){return-1}}onHeaderField(e){const t=this.headers.length;if((t&1)===0){this.headers.push(e)}else{this.headers[t-1]=Buffer.concat([this.headers[t-1],e])}this.trackHeader(e.length)}onHeaderValue(e){let t=this.headers.length;if((t&1)===1){this.headers.push(e);t+=1}else{this.headers[t-1]=Buffer.concat([this.headers[t-1],e])}const A=this.headers[t-2];if(A.length===10&&A.toString().toLowerCase()==="keep-alive"){this.keepAlive+=e.toString()}else if(A.length===10&&A.toString().toLowerCase()==="connection"){this.connection+=e.toString()}else if(A.length===14&&A.toString().toLowerCase()==="content-length"){this.contentLength+=e.toString()}this.trackHeader(e.length)}trackHeader(e){this.headersSize+=e;if(this.headersSize>=this.headersMaxSize){n.destroy(this.socket,new p)}}onUpgrade(e){const{upgrade:t,client:A,socket:r,headers:o,statusCode:i}=this;s(t);const a=A[_][A[q]];s(a);s(!r.destroyed);s(r===A[Z]);s(!this.paused);s(a.upgrade||a.method==="CONNECT");this.statusCode=null;this.statusText="";this.shouldKeepAlive=null;s(this.headers.length%2===0);this.headers=[];this.headersSize=0;r.unshift(e);r[v].destroy();r[v]=null;r[S]=null;r[j]=null;r.removeListener("error",onSocketError).removeListener("readable",onSocketReadable).removeListener("end",onSocketEnd).removeListener("close",onSocketClose);A[Z]=null;A[_][A[q]++]=null;A.emit("disconnect",A[k],[A],new C("upgrade"));try{a.onUpgrade(i,o,r)}catch(e){n.destroy(r,e)}resume(A)}onHeadersComplete(e,t,A){const{client:r,socket:o,headers:i,statusText:a}=this;if(o.destroyed){return-1}const c=r[_][r[q]];if(!c){return-1}s(!this.upgrade);s(this.statusCode<200);if(e===100){n.destroy(o,new Q("bad response",n.getSocketInfo(o)));return-1}if(t&&!c.upgrade){n.destroy(o,new Q("bad upgrade",n.getSocketInfo(o)));return-1}s.strictEqual(this.timeoutType,He);this.statusCode=e;this.shouldKeepAlive=A||c.method==="HEAD"&&!o[R]&&this.connection.toLowerCase()==="keep-alive";if(this.statusCode>=200){const e=c.bodyTimeout!=null?c.bodyTimeout:r[Ae];this.setTimeout(e,Ye)}else if(this.timeout){if(this.timeout.refresh){this.timeout.refresh()}}if(c.method==="CONNECT"){s(r[L]===1);this.upgrade=true;return 2}if(t){s(r[L]===1);this.upgrade=true;return 2}s(this.headers.length%2===0);this.headers=[];this.headersSize=0;if(this.shouldKeepAlive&&r[z]){const e=this.keepAlive?n.parseKeepAliveTimeout(this.keepAlive):null;if(e!=null){const t=Math.min(e-r[ee],r[$]);if(t<=0){o[R]=true}else{r[X]=t}}else{r[X]=r[J]}}else{o[R]=true}const l=c.onHeaders(e,i,this.resume,a)===false;if(c.aborted){return-1}if(c.method==="HEAD"){return 1}if(e<200){return 1}if(o[N]){o[N]=false;resume(r)}return l?Ne.ERROR.PAUSED:0}onBody(e){const{client:t,socket:A,statusCode:r,maxResponseSize:o}=this;if(A.destroyed){return-1}const i=t[_][t[q]];s(i);s.strictEqual(this.timeoutType,Ye);if(this.timeout){if(this.timeout.refresh){this.timeout.refresh()}}s(r>=200);if(o>-1&&this.bytesRead+e.length>o){n.destroy(A,new y);return-1}this.bytesRead+=e.length;if(i.onData(e)===false){return Ne.ERROR.PAUSED}}onMessageComplete(){const{client:e,socket:t,statusCode:A,upgrade:r,headers:o,contentLength:i,bytesRead:a,shouldKeepAlive:c}=this;if(t.destroyed&&(!A||c)){return-1}if(r){return}const l=e[_][e[q]];s(l);s(A>=100);this.statusCode=null;this.statusText="";this.bytesRead=0;this.contentLength="";this.keepAlive="";this.connection="";s(this.headers.length%2===0);this.headers=[];this.headersSize=0;if(A<200){return}if(l.method!=="HEAD"&&i&&a!==parseInt(i,10)){n.destroy(t,new h);return-1}l.onComplete(o);e[_][e[q]++]=null;if(t[M]){s.strictEqual(e[L],0);n.destroy(t,new C("reset"));return Ne.ERROR.PAUSED}else if(!c){n.destroy(t,new C("reset"));return Ne.ERROR.PAUSED}else if(t[R]&&e[L]===0){n.destroy(t,new C("reset"));return Ne.ERROR.PAUSED}else if(e[z]===1){setImmediate(resume,e)}else{resume(e)}}}function onParserTimeout(e){const{socket:t,timeoutType:A,client:r}=e;if(A===He){if(!t[M]||t.writableNeedDrain||r[L]>1){s(!e.paused,"cannot be paused while waiting for headers");n.destroy(t,new d)}}else if(A===Ye){if(!e.paused){n.destroy(t,new B)}}else if(A===Je){s(r[L]===0&&r[X]);n.destroy(t,new C("socket idle timeout"))}}function onSocketReadable(){const{[v]:e}=this;if(e){e.readMore()}}function onSocketError(e){const{[S]:t,[v]:A}=this;s(e.code!=="ERR_TLS_CERT_ALTNAME_INVALID");if(t[Ee]!=="h2"){if(e.code==="ECONNRESET"&&A.statusCode&&!A.shouldKeepAlive){A.onMessageComplete();return}}this[j]=e;onError(this[S],e)}function onError(e,t){if(e[L]===0&&t.code!=="UND_ERR_INFO"&&t.code!=="UND_ERR_SOCKET"){s(e[W]===e[q]);const A=e[_].splice(e[q]);for(let s=0;s0&&A.code!=="UND_ERR_INFO"){const t=e[_][e[q]];e[_][e[q]++]=null;errorRequest(e,t,A)}e[W]=e[q];s(e[L]===0);e.emit("disconnect",e[k],[e],A);resume(e)}async function connect(e){s(!e[O]);s(!e[Z]);let{host:t,hostname:A,protocol:o,port:i}=e[k];if(A[0]==="["){const e=A.indexOf("]");s(e!==-1);const t=A.substring(1,e);s(r.isIP(t));A=t}e[O]=true;if(Te.beforeConnect.hasSubscribers){Te.beforeConnect.publish({connectParams:{host:t,hostname:A,protocol:o,port:i,servername:e[D],localAddress:e[he]},connector:e[re]})}try{const r=await new Promise(((s,r)=>{e[re]({host:t,hostname:A,protocol:o,port:i,servername:e[D],localAddress:e[he]},((e,t)=>{if(e){r(e)}else{s(t)}}))}));if(e.destroyed){n.destroy(r.on("error",(()=>{})),new w);return}e[O]=false;s(r);const a=r.alpnProtocol==="h2";if(a){if(!Se){Se=true;process.emitWarning("H2 support is experimental, expect them to change at any time.",{code:"UNDICI-H2"})}const t=Ie.connect(e[k],{createConnection:()=>r,peerMaxConcurrentStreams:e[Qe].maxConcurrentStreams});e[Ee]="h2";t[S]=e;t[Z]=r;t.on("error",onHttp2SessionError);t.on("frameError",onHttp2FrameError);t.on("end",onHttp2SessionEnd);t.on("goaway",onHTTP2GoAway);t.on("close",onSocketClose);t.unref();e[pe]=t;r[pe]=t}else{if(!Ge){Ge=await xe;xe=null}r[Y]=false;r[M]=false;r[R]=false;r[N]=false;r[v]=new Parser(e,r,Ge)}r[ne]=0;r[ie]=e[ie];r[S]=e;r[j]=null;r.on("error",onSocketError).on("readable",onSocketReadable).on("end",onSocketEnd).on("close",onSocketClose);e[Z]=r;if(Te.connected.hasSubscribers){Te.connected.publish({connectParams:{host:t,hostname:A,protocol:o,port:i,servername:e[D],localAddress:e[he]},connector:e[re],socket:r})}e.emit("connect",e[k],[e])}catch(r){if(e.destroyed){return}e[O]=false;if(Te.connectError.hasSubscribers){Te.connectError.publish({connectParams:{host:t,hostname:A,protocol:o,port:i,servername:e[D],localAddress:e[he]},connector:e[re],error:r})}if(r.code==="ERR_TLS_CERT_ALTNAME_INVALID"){s(e[L]===0);while(e[G]>0&&e[_][e[W]].servername===e[D]){const t=e[_][e[W]++];errorRequest(e,t,r)}}else{onError(e,r)}e.emit("connectionError",e[k],[e],r)}resume(e)}function emitDrain(e){e[H]=0;e.emit("drain",e[k],[e])}function resume(e,t){if(e[U]===2){return}e[U]=2;_resume(e,t);e[U]=0;if(e[q]>256){e[_].splice(0,e[q]);e[W]-=e[q];e[q]=0}}function _resume(e,t){while(true){if(e.destroyed){s(e[G]===0);return}if(e[ve]&&!e[x]){e[ve]();e[ve]=null;return}const A=e[Z];if(A&&!A.destroyed&&A.alpnProtocol!=="h2"){if(e[x]===0){if(!A[Y]&&A.unref){A.unref();A[Y]=true}}else if(A[Y]&&A.ref){A.ref();A[Y]=false}if(e[x]===0){if(A[v].timeoutType!==Je){A[v].setTimeout(e[X],Je)}}else if(e[L]>0&&A[v].statusCode<200){if(A[v].timeoutType!==He){const t=e[_][e[q]];const s=t.headersTimeout!=null?t.headersTimeout:e[te];A[v].setTimeout(s,He)}}}if(e[F]){e[H]=2}else if(e[H]===2){if(t){e[H]=1;process.nextTick(emitDrain,e)}else{emitDrain(e)}continue}if(e[G]===0){return}if(e[L]>=(e[z]||1)){return}const r=e[_][e[W]];if(e[k].protocol==="https:"&&e[D]!==r.servername){if(e[L]>0){return}e[D]=r.servername;if(A&&A.servername!==r.servername){n.destroy(A,new C("servername changed"));return}}if(e[O]){return}if(!A&&!e[pe]){connect(e);return}if(A.destroyed||A[M]||A[R]||A[N]){return}if(e[L]>0&&!r.idempotent){return}if(e[L]>0&&(r.upgrade||r.method==="CONNECT")){return}if(e[L]>0&&n.bodyLength(r.body)!==0&&(n.isStream(r.body)||n.isAsyncIterable(r.body))){return}if(!r.aborted&&write(e,r)){e[W]++}else{e[_].splice(e[W],1)}}}function shouldSendContentLength(e){return e!=="GET"&&e!=="HEAD"&&e!=="OPTIONS"&&e!=="TRACE"&&e!=="CONNECT"}function write(e,t){if(e[Ee]==="h2"){writeH2(e,e[pe],t);return}const{body:A,method:r,path:o,host:i,upgrade:a,headers:c,blocking:l,reset:h}=t;const u=r==="PUT"||r==="POST"||r==="PATCH";if(A&&typeof A.read==="function"){A.read(0)}const d=n.bodyLength(A);let p=d;if(p===null){p=t.contentLength}if(p===0&&!u){p=null}if(shouldSendContentLength(r)&&p>0&&t.contentLength!==null&&t.contentLength!==p){if(e[se]){errorRequest(e,t,new g);return false}process.emitWarning(new g)}const Q=e[Z];try{t.onConnect((A=>{if(t.aborted||t.completed){return}errorRequest(e,t,A||new E);n.destroy(Q,new C("aborted"))}))}catch(A){errorRequest(e,t,A)}if(t.aborted){return false}if(r==="HEAD"){Q[R]=true}if(a||r==="CONNECT"){Q[R]=true}if(h!=null){Q[R]=h}if(e[ie]&&Q[ne]++>=e[ie]){Q[R]=true}if(l){Q[N]=true}let B=`${r} ${o} HTTP/1.1\r\n`;if(typeof i==="string"){B+=`host: ${i}\r\n`}else{B+=e[V]}if(a){B+=`connection: upgrade\r\nupgrade: ${a}\r\n`}else if(e[z]&&!Q[R]){B+="connection: keep-alive\r\n"}else{B+="connection: close\r\n"}if(c){B+=c}if(Te.sendHeaders.hasSubscribers){Te.sendHeaders.publish({request:t,headers:B,socket:Q})}if(!A||d===0){if(p===0){Q.write(`${B}content-length: 0\r\n\r\n`,"latin1")}else{s(p===null,"no body must not have content length");Q.write(`${B}\r\n`,"latin1")}t.onRequestSent()}else if(n.isBuffer(A)){s(p===A.byteLength,"buffer body must have content length");Q.cork();Q.write(`${B}content-length: ${p}\r\n\r\n`,"latin1");Q.write(A);Q.uncork();t.onBodySent(A);t.onRequestSent();if(!u){Q[R]=true}}else if(n.isBlobLike(A)){if(typeof A.stream==="function"){writeIterable({body:A.stream(),client:e,request:t,socket:Q,contentLength:p,header:B,expectsPayload:u})}else{writeBlob({body:A,client:e,request:t,socket:Q,contentLength:p,header:B,expectsPayload:u})}}else if(n.isStream(A)){writeStream({body:A,client:e,request:t,socket:Q,contentLength:p,header:B,expectsPayload:u})}else if(n.isIterable(A)){writeIterable({body:A,client:e,request:t,socket:Q,contentLength:p,header:B,expectsPayload:u})}else{s(false)}return true}function writeH2(e,t,A){const{body:r,method:o,path:i,host:a,upgrade:l,expectContinue:h,signal:u,headers:d}=A;let p;if(typeof d==="string")p=c[Be](d.trim());else p=d;if(l){errorRequest(e,A,new Error("Upgrade not supported for H2"));return false}try{A.onConnect((t=>{if(A.aborted||A.completed){return}errorRequest(e,A,t||new E)}))}catch(t){errorRequest(e,A,t)}if(A.aborted){return false}let Q;const B=e[Qe];p[me]=a||e[de];p[ye]=o;if(o==="CONNECT"){t.ref();Q=t.request(p,{endStream:false,signal:u});if(Q.id&&!Q.pending){A.onUpgrade(null,null,Q);++B.openStreams}else{Q.once("ready",(()=>{A.onUpgrade(null,null,Q);++B.openStreams}))}Q.once("close",(()=>{B.openStreams-=1;if(B.openStreams===0)t.unref()}));return true}p[we]=i;p[be]="https";const I=o==="PUT"||o==="POST"||o==="PATCH";if(r&&typeof r.read==="function"){r.read(0)}let y=n.bodyLength(r);if(y==null){y=A.contentLength}if(y===0||!I){y=null}if(shouldSendContentLength(o)&&y>0&&A.contentLength!=null&&A.contentLength!==y){if(e[se]){errorRequest(e,A,new g);return false}process.emitWarning(new g)}if(y!=null){s(r,"no body must not have content length");p[ke]=`${y}`}t.ref();const w=o==="GET"||o==="HEAD";if(h){p[Re]="100-continue";Q=t.request(p,{endStream:w,signal:u});Q.once("continue",writeBodyH2)}else{Q=t.request(p,{endStream:w,signal:u});writeBodyH2()}++B.openStreams;Q.once("response",(e=>{const{[De]:t,...s}=e;if(A.onHeaders(Number(t),s,Q.resume.bind(Q),"")===false){Q.pause()}}));Q.once("end",(()=>{A.onComplete([])}));Q.on("data",(e=>{if(A.onData(e)===false){Q.pause()}}));Q.once("close",(()=>{B.openStreams-=1;if(B.openStreams===0){t.unref()}}));Q.once("error",(function(t){if(e[pe]&&!e[pe].destroyed&&!this.closed&&!this.destroyed){B.streams-=1;n.destroy(Q,t)}}));Q.once("frameError",((t,s)=>{const r=new C(`HTTP/2: "frameError" received - type ${t}, code ${s}`);errorRequest(e,A,r);if(e[pe]&&!e[pe].destroyed&&!this.closed&&!this.destroyed){B.streams-=1;n.destroy(Q,r)}}));return true;function writeBodyH2(){if(!r){A.onRequestSent()}else if(n.isBuffer(r)){s(y===r.byteLength,"buffer body must have content length");Q.cork();Q.write(r);Q.uncork();Q.end();A.onBodySent(r);A.onRequestSent()}else if(n.isBlobLike(r)){if(typeof r.stream==="function"){writeIterable({client:e,request:A,contentLength:y,h2stream:Q,expectsPayload:I,body:r.stream(),socket:e[Z],header:""})}else{writeBlob({body:r,client:e,request:A,contentLength:y,expectsPayload:I,h2stream:Q,header:"",socket:e[Z]})}}else if(n.isStream(r)){writeStream({body:r,client:e,request:A,contentLength:y,expectsPayload:I,socket:e[Z],h2stream:Q,header:""})}else if(n.isIterable(r)){writeIterable({body:r,client:e,request:A,contentLength:y,expectsPayload:I,header:"",h2stream:Q,socket:e[Z]})}else{s(false)}}}function writeStream({h2stream:e,body:t,client:A,request:r,socket:o,contentLength:a,header:c,expectsPayload:l}){s(a!==0||A[L]===0,"stream body cannot be pipelined");if(A[Ee]==="h2"){const u=i(t,e,(A=>{if(A){n.destroy(t,A);n.destroy(e,A)}else{r.onRequestSent()}}));u.on("data",onPipeData);u.once("end",(()=>{u.removeListener("data",onPipeData);n.destroy(u)}));function onPipeData(e){r.onBodySent(e)}return}let g=false;const h=new AsyncWriter({socket:o,request:r,contentLength:a,client:A,expectsPayload:l,header:c});const onData=function(e){if(g){return}try{if(!h.write(e)&&this.pause){this.pause()}}catch(e){n.destroy(this,e)}};const onDrain=function(){if(g){return}if(t.resume){t.resume()}};const onAbort=function(){if(g){return}const e=new E;queueMicrotask((()=>onFinished(e)))};const onFinished=function(e){if(g){return}g=true;s(o.destroyed||o[M]&&A[L]<=1);o.off("drain",onDrain).off("error",onFinished);t.removeListener("data",onData).removeListener("end",onFinished).removeListener("error",onFinished).removeListener("close",onAbort);if(!e){try{h.end()}catch(t){e=t}}h.destroy(e);if(e&&(e.code!=="UND_ERR_INFO"||e.message!=="reset")){n.destroy(t,e)}else{n.destroy(t)}};t.on("data",onData).on("end",onFinished).on("error",onFinished).on("close",onAbort);if(t.resume){t.resume()}o.on("drain",onDrain).on("error",onFinished)}async function writeBlob({h2stream:e,body:t,client:A,request:r,socket:o,contentLength:i,header:a,expectsPayload:c}){s(i===t.size,"blob body must have content length");const l=A[Ee]==="h2";try{if(i!=null&&i!==t.size){throw new g}const s=Buffer.from(await t.arrayBuffer());if(l){e.cork();e.write(s);e.uncork()}else{o.cork();o.write(`${a}content-length: ${i}\r\n\r\n`,"latin1");o.write(s);o.uncork()}r.onBodySent(s);r.onRequestSent();if(!c){o[R]=true}resume(A)}catch(t){n.destroy(l?e:o,t)}}async function writeIterable({h2stream:e,body:t,client:A,request:r,socket:o,contentLength:i,header:n,expectsPayload:a}){s(i!==0||A[L]===0,"iterator body cannot be pipelined");let c=null;function onDrain(){if(c){const e=c;c=null;e()}}const waitForDrain=()=>new Promise(((e,t)=>{s(c===null);if(o[j]){t(o[j])}else{c=e}}));if(A[Ee]==="h2"){e.on("close",onDrain).on("drain",onDrain);try{for await(const A of t){if(o[j]){throw o[j]}const t=e.write(A);r.onBodySent(A);if(!t){await waitForDrain()}}}catch(t){e.destroy(t)}finally{r.onRequestSent();e.end();e.off("close",onDrain).off("drain",onDrain)}return}o.on("close",onDrain).on("drain",onDrain);const l=new AsyncWriter({socket:o,request:r,contentLength:i,client:A,expectsPayload:a,header:n});try{for await(const e of t){if(o[j]){throw o[j]}if(!l.write(e)){await waitForDrain()}}l.end()}catch(e){l.destroy(e)}finally{o.off("close",onDrain).off("drain",onDrain)}}class AsyncWriter{constructor({socket:e,request:t,contentLength:A,client:s,expectsPayload:r,header:o}){this.socket=e;this.request=t;this.contentLength=A;this.client=s;this.bytesWritten=0;this.expectsPayload=r;this.header=o;e[M]=true}write(e){const{socket:t,request:A,contentLength:s,client:r,bytesWritten:o,expectsPayload:i,header:n}=this;if(t[j]){throw t[j]}if(t.destroyed){return false}const a=Buffer.byteLength(e);if(!a){return true}if(s!==null&&o+a>s){if(r[se]){throw new g}process.emitWarning(new g)}t.cork();if(o===0){if(!i){t[R]=true}if(s===null){t.write(`${n}transfer-encoding: chunked\r\n`,"latin1")}else{t.write(`${n}content-length: ${s}\r\n\r\n`,"latin1")}}if(s===null){t.write(`\r\n${a.toString(16)}\r\n`,"latin1")}this.bytesWritten+=a;const c=t.write(e);t.uncork();A.onBodySent(e);if(!c){if(t[v].timeout&&t[v].timeoutType===He){if(t[v].timeout.refresh){t[v].timeout.refresh()}}}return c}end(){const{socket:e,contentLength:t,client:A,bytesWritten:s,expectsPayload:r,header:o,request:i}=this;i.onRequestSent();e[M]=false;if(e[j]){throw e[j]}if(e.destroyed){return}if(s===0){if(r){e.write(`${o}content-length: 0\r\n\r\n`,"latin1")}else{e.write(`${o}\r\n`,"latin1")}}else if(t===null){e.write("\r\n0\r\n\r\n","latin1")}if(t!==null&&s!==t){if(A[se]){throw new g}else{process.emitWarning(new g)}}if(e[v].timeout&&e[v].timeoutType===He){if(e[v].timeout.refresh){e[v].timeout.refresh()}}resume(A)}destroy(e){const{socket:t,client:A}=this;t[M]=false;if(e){s(A[L]<=1,"pipeline should only contain this request");n.destroy(t,e)}}}function errorRequest(e,t,A){try{t.onError(A);s(t.aborted)}catch(A){e.emit("error",A)}}e.exports=Client},3194:(e,t,A)=>{"use strict";const{kConnected:s,kSize:r}=A(6443);class CompatWeakRef{constructor(e){this.value=e}deref(){return this.value[s]===0&&this.value[r]===0?undefined:this.value}}class CompatFinalizer{constructor(e){this.finalizer=e}register(e,t){if(e.on){e.on("disconnect",(()=>{if(e[s]===0&&e[r]===0){this.finalizer(t)}}))}}}e.exports=function(){if(process.env.NODE_V8_COVERAGE){return{WeakRef:CompatWeakRef,FinalizationRegistry:CompatFinalizer}}return{WeakRef:global.WeakRef||CompatWeakRef,FinalizationRegistry:global.FinalizationRegistry||CompatFinalizer}}},9237:e=>{"use strict";const t=1024;const A=4096;e.exports={maxAttributeValueSize:t,maxNameValuePairSize:A}},3168:(e,t,A)=>{"use strict";const{parseSetCookie:s}=A(8915);const{stringify:r,getHeadersList:o}=A(3834);const{webidl:i}=A(4222);const{Headers:n}=A(6349);function getCookies(e){i.argumentLengthCheck(arguments,1,{header:"getCookies"});i.brandCheck(e,n,{strict:false});const t=e.get("cookie");const A={};if(!t){return A}for(const e of t.split(";")){const[t,...s]=e.split("=");A[t.trim()]=s.join("=")}return A}function deleteCookie(e,t,A){i.argumentLengthCheck(arguments,2,{header:"deleteCookie"});i.brandCheck(e,n,{strict:false});t=i.converters.DOMString(t);A=i.converters.DeleteCookieAttributes(A);setCookie(e,{name:t,value:"",expires:new Date(0),...A})}function getSetCookies(e){i.argumentLengthCheck(arguments,1,{header:"getSetCookies"});i.brandCheck(e,n,{strict:false});const t=o(e).cookies;if(!t){return[]}return t.map((e=>s(Array.isArray(e)?e[1]:e)))}function setCookie(e,t){i.argumentLengthCheck(arguments,2,{header:"setCookie"});i.brandCheck(e,n,{strict:false});t=i.converters.Cookie(t);const A=r(t);if(A){e.append("Set-Cookie",r(t))}}i.converters.DeleteCookieAttributes=i.dictionaryConverter([{converter:i.nullableConverter(i.converters.DOMString),key:"path",defaultValue:null},{converter:i.nullableConverter(i.converters.DOMString),key:"domain",defaultValue:null}]);i.converters.Cookie=i.dictionaryConverter([{converter:i.converters.DOMString,key:"name"},{converter:i.converters.DOMString,key:"value"},{converter:i.nullableConverter((e=>{if(typeof e==="number"){return i.converters["unsigned long long"](e)}return new Date(e)})),key:"expires",defaultValue:null},{converter:i.nullableConverter(i.converters["long long"]),key:"maxAge",defaultValue:null},{converter:i.nullableConverter(i.converters.DOMString),key:"domain",defaultValue:null},{converter:i.nullableConverter(i.converters.DOMString),key:"path",defaultValue:null},{converter:i.nullableConverter(i.converters.boolean),key:"secure",defaultValue:null},{converter:i.nullableConverter(i.converters.boolean),key:"httpOnly",defaultValue:null},{converter:i.converters.USVString,key:"sameSite",allowedValues:["Strict","Lax","None"]},{converter:i.sequenceConverter(i.converters.DOMString),key:"unparsed",defaultValue:[]}]);e.exports={getCookies:getCookies,deleteCookie:deleteCookie,getSetCookies:getSetCookies,setCookie:setCookie}},8915:(e,t,A)=>{"use strict";const{maxNameValuePairSize:s,maxAttributeValueSize:r}=A(9237);const{isCTLExcludingHtab:o}=A(3834);const{collectASequenceOfCodePointsFast:i}=A(4322);const n=A(2613);function parseSetCookie(e){if(o(e)){return null}let t="";let A="";let r="";let n="";if(e.includes(";")){const s={position:0};t=i(";",e,s);A=e.slice(s.position)}else{t=e}if(!t.includes("=")){n=t}else{const e={position:0};r=i("=",t,e);n=t.slice(e.position+1)}r=r.trim();n=n.trim();if(r.length+n.length>s){return null}return{name:r,value:n,...parseUnparsedAttributes(A)}}function parseUnparsedAttributes(e,t={}){if(e.length===0){return t}n(e[0]===";");e=e.slice(1);let A="";if(e.includes(";")){A=i(";",e,{position:0});e=e.slice(A.length)}else{A=e;e=""}let s="";let o="";if(A.includes("=")){const e={position:0};s=i("=",A,e);o=A.slice(e.position+1)}else{s=A}s=s.trim();o=o.trim();if(o.length>r){return parseUnparsedAttributes(e,t)}const a=s.toLowerCase();if(a==="expires"){const e=new Date(o);t.expires=e}else if(a==="max-age"){const A=o.charCodeAt(0);if((A<48||A>57)&&o[0]!=="-"){return parseUnparsedAttributes(e,t)}if(!/^\d+$/.test(o)){return parseUnparsedAttributes(e,t)}const s=Number(o);t.maxAge=s}else if(a==="domain"){let e=o;if(e[0]==="."){e=e.slice(1)}e=e.toLowerCase();t.domain=e}else if(a==="path"){let e="";if(o.length===0||o[0]!=="/"){e="/"}else{e=o}t.path=e}else if(a==="secure"){t.secure=true}else if(a==="httponly"){t.httpOnly=true}else if(a==="samesite"){let e="Default";const A=o.toLowerCase();if(A.includes("none")){e="None"}if(A.includes("strict")){e="Strict"}if(A.includes("lax")){e="Lax"}t.sameSite=e}else{t.unparsed??=[];t.unparsed.push(`${s}=${o}`)}return parseUnparsedAttributes(e,t)}e.exports={parseSetCookie:parseSetCookie,parseUnparsedAttributes:parseUnparsedAttributes}},3834:(e,t,A)=>{"use strict";const s=A(2613);const{kHeadersList:r}=A(6443);function isCTLExcludingHtab(e){if(e.length===0){return false}for(const t of e){const e=t.charCodeAt(0);if(e>=0||e<=8||(e>=10||e<=31)||e===127){return false}}}function validateCookieName(e){for(const t of e){const e=t.charCodeAt(0);if(e<=32||e>127||t==="("||t===")"||t===">"||t==="<"||t==="@"||t===","||t===";"||t===":"||t==="\\"||t==='"'||t==="/"||t==="["||t==="]"||t==="?"||t==="="||t==="{"||t==="}"){throw new Error("Invalid cookie name")}}}function validateCookieValue(e){for(const t of e){const e=t.charCodeAt(0);if(e<33||e===34||e===44||e===59||e===92||e>126){throw new Error("Invalid header value")}}}function validateCookiePath(e){for(const t of e){const e=t.charCodeAt(0);if(e<33||t===";"){throw new Error("Invalid cookie path")}}}function validateCookieDomain(e){if(e.startsWith("-")||e.endsWith(".")||e.endsWith("-")){throw new Error("Invalid cookie domain")}}function toIMFDate(e){if(typeof e==="number"){e=new Date(e)}const t=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];const A=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];const s=t[e.getUTCDay()];const r=e.getUTCDate().toString().padStart(2,"0");const o=A[e.getUTCMonth()];const i=e.getUTCFullYear();const n=e.getUTCHours().toString().padStart(2,"0");const a=e.getUTCMinutes().toString().padStart(2,"0");const c=e.getUTCSeconds().toString().padStart(2,"0");return`${s}, ${r} ${o} ${i} ${n}:${a}:${c} GMT`}function validateCookieMaxAge(e){if(e<0){throw new Error("Invalid cookie max-age")}}function stringify(e){if(e.name.length===0){return null}validateCookieName(e.name);validateCookieValue(e.value);const t=[`${e.name}=${e.value}`];if(e.name.startsWith("__Secure-")){e.secure=true}if(e.name.startsWith("__Host-")){e.secure=true;e.domain=null;e.path="/"}if(e.secure){t.push("Secure")}if(e.httpOnly){t.push("HttpOnly")}if(typeof e.maxAge==="number"){validateCookieMaxAge(e.maxAge);t.push(`Max-Age=${e.maxAge}`)}if(e.domain){validateCookieDomain(e.domain);t.push(`Domain=${e.domain}`)}if(e.path){validateCookiePath(e.path);t.push(`Path=${e.path}`)}if(e.expires&&e.expires.toString()!=="Invalid Date"){t.push(`Expires=${toIMFDate(e.expires)}`)}if(e.sameSite){t.push(`SameSite=${e.sameSite}`)}for(const A of e.unparsed){if(!A.includes("=")){throw new Error("Invalid unparsed")}const[e,...s]=A.split("=");t.push(`${e.trim()}=${s.join("=")}`)}return t.join("; ")}let o;function getHeadersList(e){if(e[r]){return e[r]}if(!o){o=Object.getOwnPropertySymbols(e).find((e=>e.description==="headers list"));s(o,"Headers cannot be parsed")}const t=e[o];s(t);return t}e.exports={isCTLExcludingHtab:isCTLExcludingHtab,stringify:stringify,getHeadersList:getHeadersList}},9136:(e,t,A)=>{"use strict";const s=A(9278);const r=A(2613);const o=A(3440);const{InvalidArgumentError:i,ConnectTimeoutError:n}=A(8707);let a;let c;if(global.FinalizationRegistry&&!process.env.NODE_V8_COVERAGE){c=class WeakSessionCache{constructor(e){this._maxCachedSessions=e;this._sessionCache=new Map;this._sessionRegistry=new global.FinalizationRegistry((e=>{if(this._sessionCache.size=this._maxCachedSessions){const{value:e}=this._sessionCache.keys().next();this._sessionCache.delete(e)}this._sessionCache.set(e,t)}}}function buildConnector({allowH2:e,maxCachedSessions:t,socketPath:n,timeout:l,...g}){if(t!=null&&(!Number.isInteger(t)||t<0)){throw new i("maxCachedSessions must be a positive integer or zero")}const h={path:n,...g};const u=new c(t==null?100:t);l=l==null?1e4:l;e=e!=null?e:false;return function connect({hostname:t,host:i,protocol:n,port:c,servername:g,localAddress:E,httpSocket:d},p){let Q;if(n==="https:"){if(!a){a=A(4756)}g=g||h.servername||o.getServerName(i)||null;const s=g||t;const n=u.get(s)||null;r(s);Q=a.connect({highWaterMark:16384,...h,servername:g,session:n,localAddress:E,ALPNProtocols:e?["http/1.1","h2"]:["http/1.1"],socket:d,port:c||443,host:t});Q.on("session",(function(e){u.set(s,e)}))}else{r(!d,"httpSocket can only be sent on TLS update");Q=s.connect({highWaterMark:64*1024,...h,localAddress:E,port:c||80,host:t})}if(h.keepAlive==null||h.keepAlive){const e=h.keepAliveInitialDelay===undefined?6e4:h.keepAliveInitialDelay;Q.setKeepAlive(true,e)}const C=setupTimeout((()=>onConnectTimeout(Q)),l);Q.setNoDelay(true).once(n==="https:"?"secureConnect":"connect",(function(){C();if(p){const e=p;p=null;e(null,this)}})).on("error",(function(e){C();if(p){const t=p;p=null;t(e)}}));return Q}}function setupTimeout(e,t){if(!t){return()=>{}}let A=null;let s=null;const r=setTimeout((()=>{A=setImmediate((()=>{if(process.platform==="win32"){s=setImmediate((()=>e()))}else{e()}}))}),t);return()=>{clearTimeout(r);clearImmediate(A);clearImmediate(s)}}function onConnectTimeout(e){o.destroy(e,new n)}e.exports=buildConnector},735:e=>{"use strict";const t={};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"];for(let e=0;e{"use strict";class UndiciError extends Error{constructor(e){super(e);this.name="UndiciError";this.code="UND_ERR"}}class ConnectTimeoutError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,ConnectTimeoutError);this.name="ConnectTimeoutError";this.message=e||"Connect Timeout Error";this.code="UND_ERR_CONNECT_TIMEOUT"}}class HeadersTimeoutError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,HeadersTimeoutError);this.name="HeadersTimeoutError";this.message=e||"Headers Timeout Error";this.code="UND_ERR_HEADERS_TIMEOUT"}}class HeadersOverflowError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,HeadersOverflowError);this.name="HeadersOverflowError";this.message=e||"Headers Overflow Error";this.code="UND_ERR_HEADERS_OVERFLOW"}}class BodyTimeoutError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,BodyTimeoutError);this.name="BodyTimeoutError";this.message=e||"Body Timeout Error";this.code="UND_ERR_BODY_TIMEOUT"}}class ResponseStatusCodeError extends UndiciError{constructor(e,t,A,s){super(e);Error.captureStackTrace(this,ResponseStatusCodeError);this.name="ResponseStatusCodeError";this.message=e||"Response Status Code Error";this.code="UND_ERR_RESPONSE_STATUS_CODE";this.body=s;this.status=t;this.statusCode=t;this.headers=A}}class InvalidArgumentError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,InvalidArgumentError);this.name="InvalidArgumentError";this.message=e||"Invalid Argument Error";this.code="UND_ERR_INVALID_ARG"}}class InvalidReturnValueError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,InvalidReturnValueError);this.name="InvalidReturnValueError";this.message=e||"Invalid Return Value Error";this.code="UND_ERR_INVALID_RETURN_VALUE"}}class RequestAbortedError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,RequestAbortedError);this.name="AbortError";this.message=e||"Request aborted";this.code="UND_ERR_ABORTED"}}class InformationalError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,InformationalError);this.name="InformationalError";this.message=e||"Request information";this.code="UND_ERR_INFO"}}class RequestContentLengthMismatchError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,RequestContentLengthMismatchError);this.name="RequestContentLengthMismatchError";this.message=e||"Request body length does not match content-length header";this.code="UND_ERR_REQ_CONTENT_LENGTH_MISMATCH"}}class ResponseContentLengthMismatchError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,ResponseContentLengthMismatchError);this.name="ResponseContentLengthMismatchError";this.message=e||"Response body length does not match content-length header";this.code="UND_ERR_RES_CONTENT_LENGTH_MISMATCH"}}class ClientDestroyedError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,ClientDestroyedError);this.name="ClientDestroyedError";this.message=e||"The client is destroyed";this.code="UND_ERR_DESTROYED"}}class ClientClosedError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,ClientClosedError);this.name="ClientClosedError";this.message=e||"The client is closed";this.code="UND_ERR_CLOSED"}}class SocketError extends UndiciError{constructor(e,t){super(e);Error.captureStackTrace(this,SocketError);this.name="SocketError";this.message=e||"Socket error";this.code="UND_ERR_SOCKET";this.socket=t}}class NotSupportedError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,NotSupportedError);this.name="NotSupportedError";this.message=e||"Not supported error";this.code="UND_ERR_NOT_SUPPORTED"}}class BalancedPoolMissingUpstreamError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,NotSupportedError);this.name="MissingUpstreamError";this.message=e||"No upstream has been added to the BalancedPool";this.code="UND_ERR_BPL_MISSING_UPSTREAM"}}class HTTPParserError extends Error{constructor(e,t,A){super(e);Error.captureStackTrace(this,HTTPParserError);this.name="HTTPParserError";this.code=t?`HPE_${t}`:undefined;this.data=A?A.toString():undefined}}class ResponseExceededMaxSizeError extends UndiciError{constructor(e){super(e);Error.captureStackTrace(this,ResponseExceededMaxSizeError);this.name="ResponseExceededMaxSizeError";this.message=e||"Response content exceeded max size";this.code="UND_ERR_RES_EXCEEDED_MAX_SIZE"}}class RequestRetryError extends UndiciError{constructor(e,t,{headers:A,data:s}){super(e);Error.captureStackTrace(this,RequestRetryError);this.name="RequestRetryError";this.message=e||"Request retry error";this.code="UND_ERR_REQ_RETRY";this.statusCode=t;this.data=s;this.headers=A}}e.exports={HTTPParserError:HTTPParserError,UndiciError:UndiciError,HeadersTimeoutError:HeadersTimeoutError,HeadersOverflowError:HeadersOverflowError,BodyTimeoutError:BodyTimeoutError,RequestContentLengthMismatchError:RequestContentLengthMismatchError,ConnectTimeoutError:ConnectTimeoutError,ResponseStatusCodeError:ResponseStatusCodeError,InvalidArgumentError:InvalidArgumentError,InvalidReturnValueError:InvalidReturnValueError,RequestAbortedError:RequestAbortedError,ClientDestroyedError:ClientDestroyedError,ClientClosedError:ClientClosedError,InformationalError:InformationalError,SocketError:SocketError,NotSupportedError:NotSupportedError,ResponseContentLengthMismatchError:ResponseContentLengthMismatchError,BalancedPoolMissingUpstreamError:BalancedPoolMissingUpstreamError,ResponseExceededMaxSizeError:ResponseExceededMaxSizeError,RequestRetryError:RequestRetryError}},4655:(e,t,A)=>{"use strict";const{InvalidArgumentError:s,NotSupportedError:r}=A(8707);const o=A(2613);const{kHTTP2BuildRequest:i,kHTTP2CopyHeaders:n,kHTTP1BuildRequest:a}=A(6443);const c=A(3440);const l=/^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/;const g=/[^\t\x20-\x7e\x80-\xff]/;const h=/[^\u0021-\u00ff]/;const u=Symbol("handler");const E={};let d;try{const e=A(1637);E.create=e.channel("undici:request:create");E.bodySent=e.channel("undici:request:bodySent");E.headers=e.channel("undici:request:headers");E.trailers=e.channel("undici:request:trailers");E.error=e.channel("undici:request:error")}catch{E.create={hasSubscribers:false};E.bodySent={hasSubscribers:false};E.headers={hasSubscribers:false};E.trailers={hasSubscribers:false};E.error={hasSubscribers:false}}class Request{constructor(e,{path:t,method:r,body:o,headers:i,query:n,idempotent:a,blocking:g,upgrade:p,headersTimeout:Q,bodyTimeout:C,reset:B,throwOnError:I,expectContinue:y},w){if(typeof t!=="string"){throw new s("path must be a string")}else if(t[0]!=="/"&&!(t.startsWith("http://")||t.startsWith("https://"))&&r!=="CONNECT"){throw new s("path must be an absolute URL or start with a slash")}else if(h.exec(t)!==null){throw new s("invalid request path")}if(typeof r!=="string"){throw new s("method must be a string")}else if(l.exec(r)===null){throw new s("invalid request method")}if(p&&typeof p!=="string"){throw new s("upgrade must be a string")}if(Q!=null&&(!Number.isFinite(Q)||Q<0)){throw new s("invalid headersTimeout")}if(C!=null&&(!Number.isFinite(C)||C<0)){throw new s("invalid bodyTimeout")}if(B!=null&&typeof B!=="boolean"){throw new s("invalid reset")}if(y!=null&&typeof y!=="boolean"){throw new s("invalid expectContinue")}this.headersTimeout=Q;this.bodyTimeout=C;this.throwOnError=I===true;this.method=r;this.abort=null;if(o==null){this.body=null}else if(c.isStream(o)){this.body=o;const e=this.body._readableState;if(!e||!e.autoDestroy){this.endHandler=function autoDestroy(){c.destroy(this)};this.body.on("end",this.endHandler)}this.errorHandler=e=>{if(this.abort){this.abort(e)}else{this.error=e}};this.body.on("error",this.errorHandler)}else if(c.isBuffer(o)){this.body=o.byteLength?o:null}else if(ArrayBuffer.isView(o)){this.body=o.buffer.byteLength?Buffer.from(o.buffer,o.byteOffset,o.byteLength):null}else if(o instanceof ArrayBuffer){this.body=o.byteLength?Buffer.from(o):null}else if(typeof o==="string"){this.body=o.length?Buffer.from(o):null}else if(c.isFormDataLike(o)||c.isIterable(o)||c.isBlobLike(o)){this.body=o}else{throw new s("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable")}this.completed=false;this.aborted=false;this.upgrade=p||null;this.path=n?c.buildURL(t,n):t;this.origin=e;this.idempotent=a==null?r==="HEAD"||r==="GET":a;this.blocking=g==null?false:g;this.reset=B==null?null:B;this.host=null;this.contentLength=null;this.contentType=null;this.headers="";this.expectContinue=y!=null?y:false;if(Array.isArray(i)){if(i.length%2!==0){throw new s("headers array must be even")}for(let e=0;e{e.exports={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"),kHeadersList:Symbol("headers list"),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"),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"),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"),kInterceptors:Symbol("dispatch interceptors"),kMaxResponseSize:Symbol("max response size"),kHTTP2Session:Symbol("http2Session"),kHTTP2SessionState:Symbol("http2Session state"),kHTTP2BuildRequest:Symbol("http2 build request"),kHTTP1BuildRequest:Symbol("http1 build request"),kHTTP2CopyHeaders:Symbol("http2 copy headers"),kHTTPConnVersion:Symbol("http connection version"),kRetryHandlerDefaultRetry:Symbol("retry agent default retry"),kConstruct:Symbol("constructable")}},3440:(e,t,A)=>{"use strict";const s=A(2613);const{kDestroyed:r,kBodyUsed:o}=A(6443);const{IncomingMessage:i}=A(8611);const n=A(2203);const a=A(9278);const{InvalidArgumentError:c}=A(8707);const{Blob:l}=A(181);const g=A(9023);const{stringify:h}=A(3480);const{headerNameLowerCasedRecord:u}=A(735);const[E,d]=process.versions.node.split(".").map((e=>Number(e)));function nop(){}function isStream(e){return e&&typeof e==="object"&&typeof e.pipe==="function"&&typeof e.on==="function"}function isBlobLike(e){return l&&e instanceof l||e&&typeof e==="object"&&(typeof e.stream==="function"||typeof e.arrayBuffer==="function")&&/^(Blob|File)$/.test(e[Symbol.toStringTag])}function buildURL(e,t){if(e.includes("?")||e.includes("#")){throw new Error('Query params cannot be passed when url already contains "?" or "#".')}const A=h(t);if(A){e+="?"+A}return e}function parseURL(e){if(typeof e==="string"){e=new URL(e);if(!/^https?:/.test(e.origin||e.protocol)){throw new c("Invalid URL protocol: the URL must start with `http:` or `https:`.")}return e}if(!e||typeof e!=="object"){throw new c("Invalid URL: The URL argument must be a non-null object.")}if(!/^https?:/.test(e.origin||e.protocol)){throw new c("Invalid URL protocol: the URL must start with `http:` or `https:`.")}if(!(e instanceof URL)){if(e.port!=null&&e.port!==""&&!Number.isFinite(parseInt(e.port))){throw new c("Invalid URL: port must be a valid integer or a string representation of an integer.")}if(e.path!=null&&typeof e.path!=="string"){throw new c("Invalid URL path: the path must be a string or null/undefined.")}if(e.pathname!=null&&typeof e.pathname!=="string"){throw new c("Invalid URL pathname: the pathname must be a string or null/undefined.")}if(e.hostname!=null&&typeof e.hostname!=="string"){throw new c("Invalid URL hostname: the hostname must be a string or null/undefined.")}if(e.origin!=null&&typeof e.origin!=="string"){throw new c("Invalid URL origin: the origin must be a string or null/undefined.")}const t=e.port!=null?e.port:e.protocol==="https:"?443:80;let A=e.origin!=null?e.origin:`${e.protocol}//${e.hostname}:${t}`;let s=e.path!=null?e.path:`${e.pathname||""}${e.search||""}`;if(A.endsWith("/")){A=A.substring(0,A.length-1)}if(s&&!s.startsWith("/")){s=`/${s}`}e=new URL(A+s)}return e}function parseOrigin(e){e=parseURL(e);if(e.pathname!=="/"||e.search||e.hash){throw new c("invalid url")}return e}function getHostname(e){if(e[0]==="["){const t=e.indexOf("]");s(t!==-1);return e.substring(1,t)}const t=e.indexOf(":");if(t===-1)return e;return e.substring(0,t)}function getServerName(e){if(!e){return null}s.strictEqual(typeof e,"string");const t=getHostname(e);if(a.isIP(t)){return""}return t}function deepClone(e){return JSON.parse(JSON.stringify(e))}function isAsyncIterable(e){return!!(e!=null&&typeof e[Symbol.asyncIterator]==="function")}function isIterable(e){return!!(e!=null&&(typeof e[Symbol.iterator]==="function"||typeof e[Symbol.asyncIterator]==="function"))}function bodyLength(e){if(e==null){return 0}else if(isStream(e)){const t=e._readableState;return t&&t.objectMode===false&&t.ended===true&&Number.isFinite(t.length)?t.length:null}else if(isBlobLike(e)){return e.size!=null?e.size:null}else if(isBuffer(e)){return e.byteLength}return null}function isDestroyed(e){return!e||!!(e.destroyed||e[r])}function isReadableAborted(e){const t=e&&e._readableState;return isDestroyed(e)&&t&&!t.endEmitted}function destroy(e,t){if(e==null||!isStream(e)||isDestroyed(e)){return}if(typeof e.destroy==="function"){if(Object.getPrototypeOf(e).constructor===i){e.socket=null}e.destroy(t)}else if(t){process.nextTick(((e,t)=>{e.emit("error",t)}),e,t)}if(e.destroyed!==true){e[r]=true}}const p=/timeout=(\d+)/;function parseKeepAliveTimeout(e){const t=e.toString().match(p);return t?parseInt(t[1],10)*1e3:null}function headerNameToString(e){return u[e]||e.toLowerCase()}function parseHeaders(e,t={}){if(!Array.isArray(e))return e;for(let A=0;Ae.toString("utf8")))}else{t[s]=e[A+1].toString("utf8")}}else{if(!Array.isArray(r)){r=[r];t[s]=r}r.push(e[A+1].toString("utf8"))}}if("content-length"in t&&"content-disposition"in t){t["content-disposition"]=Buffer.from(t["content-disposition"]).toString("latin1")}return t}function parseRawHeaders(e){const t=[];let A=false;let s=-1;for(let r=0;r{e.close()}))}else{const t=Buffer.isBuffer(s)?s:Buffer.from(s);e.enqueue(new Uint8Array(t))}return e.desiredSize>0},async cancel(e){await t.return()}},0)}function isFormDataLike(e){return e&&typeof e==="object"&&typeof e.append==="function"&&typeof e.delete==="function"&&typeof e.get==="function"&&typeof e.getAll==="function"&&typeof e.has==="function"&&typeof e.set==="function"&&e[Symbol.toStringTag]==="FormData"}function throwIfAborted(e){if(!e){return}if(typeof e.throwIfAborted==="function"){e.throwIfAborted()}else{if(e.aborted){const e=new Error("The operation was aborted");e.name="AbortError";throw e}}}function addAbortListener(e,t){if("addEventListener"in e){e.addEventListener("abort",t,{once:true});return()=>e.removeEventListener("abort",t)}e.addListener("abort",t);return()=>e.removeListener("abort",t)}const C=!!String.prototype.toWellFormed;function toUSVString(e){if(C){return`${e}`.toWellFormed()}else if(g.toUSVString){return g.toUSVString(e)}return`${e}`}function parseRangeHeader(e){if(e==null||e==="")return{start:0,end:null,size:null};const t=e?e.match(/^bytes (\d+)-(\d+)\/(\d+)?$/):null;return t?{start:parseInt(t[1]),end:t[2]?parseInt(t[2]):null,size:t[3]?parseInt(t[3]):null}:null}const B=Object.create(null);B.enumerable=true;e.exports={kEnumerableProperty:B,nop:nop,isDisturbed:isDisturbed,isErrored:isErrored,isReadable:isReadable,toUSVString:toUSVString,isReadableAborted:isReadableAborted,isBlobLike:isBlobLike,parseOrigin:parseOrigin,parseURL:parseURL,getServerName:getServerName,isStream:isStream,isIterable:isIterable,isAsyncIterable:isAsyncIterable,isDestroyed:isDestroyed,headerNameToString:headerNameToString,parseRawHeaders:parseRawHeaders,parseHeaders:parseHeaders,parseKeepAliveTimeout:parseKeepAliveTimeout,destroy:destroy,bodyLength:bodyLength,deepClone:deepClone,ReadableStreamFrom:ReadableStreamFrom,isBuffer:isBuffer,validateHandler:validateHandler,getSocketInfo:getSocketInfo,isFormDataLike:isFormDataLike,buildURL:buildURL,throwIfAborted:throwIfAborted,addAbortListener:addAbortListener,parseRangeHeader:parseRangeHeader,nodeMajor:E,nodeMinor:d,nodeHasAutoSelectFamily:E>18||E===18&&d>=13,safeHTTPMethods:["GET","HEAD","OPTIONS","TRACE"]}},1:(e,t,A)=>{"use strict";const s=A(992);const{ClientDestroyedError:r,ClientClosedError:o,InvalidArgumentError:i}=A(8707);const{kDestroy:n,kClose:a,kDispatch:c,kInterceptors:l}=A(6443);const g=Symbol("destroyed");const h=Symbol("closed");const u=Symbol("onDestroyed");const E=Symbol("onClosed");const d=Symbol("Intercepted Dispatch");class DispatcherBase extends s{constructor(){super();this[g]=false;this[u]=null;this[h]=false;this[E]=[]}get destroyed(){return this[g]}get closed(){return this[h]}get interceptors(){return this[l]}set interceptors(e){if(e){for(let t=e.length-1;t>=0;t--){const e=this[l][t];if(typeof e!=="function"){throw new i("interceptor must be an function")}}}this[l]=e}close(e){if(e===undefined){return new Promise(((e,t)=>{this.close(((A,s)=>A?t(A):e(s)))}))}if(typeof e!=="function"){throw new i("invalid callback")}if(this[g]){queueMicrotask((()=>e(new r,null)));return}if(this[h]){if(this[E]){this[E].push(e)}else{queueMicrotask((()=>e(null,null)))}return}this[h]=true;this[E].push(e);const onClosed=()=>{const e=this[E];this[E]=null;for(let t=0;tthis.destroy())).then((()=>{queueMicrotask(onClosed)}))}destroy(e,t){if(typeof e==="function"){t=e;e=null}if(t===undefined){return new Promise(((t,A)=>{this.destroy(e,((e,s)=>e?A(e):t(s)))}))}if(typeof t!=="function"){throw new i("invalid callback")}if(this[g]){if(this[u]){this[u].push(t)}else{queueMicrotask((()=>t(null,null)))}return}if(!e){e=new r}this[g]=true;this[u]=this[u]||[];this[u].push(t);const onDestroyed=()=>{const e=this[u];this[u]=null;for(let t=0;t{queueMicrotask(onDestroyed)}))}[d](e,t){if(!this[l]||this[l].length===0){this[d]=this[c];return this[c](e,t)}let A=this[c].bind(this);for(let e=this[l].length-1;e>=0;e--){A=this[l][e](A)}this[d]=A;return A(e,t)}dispatch(e,t){if(!t||typeof t!=="object"){throw new i("handler must be an object")}try{if(!e||typeof e!=="object"){throw new i("opts must be an object.")}if(this[g]||this[u]){throw new r}if(this[h]){throw new o}return this[d](e,t)}catch(e){if(typeof t.onError!=="function"){throw new i("invalid onError method")}t.onError(e);return false}}}e.exports=DispatcherBase},992:(e,t,A)=>{"use strict";const s=A(4434);class Dispatcher extends s{dispatch(){throw new Error("not implemented")}close(){throw new Error("not implemented")}destroy(){throw new Error("not implemented")}}e.exports=Dispatcher},8923:(e,t,A)=>{"use strict";const s=A(9581);const r=A(3440);const{ReadableStreamFrom:o,isBlobLike:i,isReadableStreamLike:n,readableStreamClose:a,createDeferredPromise:c,fullyReadBody:l}=A(5523);const{FormData:g}=A(3073);const{kState:h}=A(9710);const{webidl:u}=A(4222);const{DOMException:E,structuredClone:d}=A(7326);const{Blob:p,File:Q}=A(181);const{kBodyUsed:C}=A(6443);const B=A(2613);const{isErrored:I}=A(3440);const{isUint8Array:y,isArrayBuffer:w}=A(8253);const{File:b}=A(3041);const{parseMIMEType:k,serializeAMimeType:R}=A(4322);let D=globalThis.ReadableStream;const S=Q??b;const F=new TextEncoder;const v=new TextDecoder;function extractBody(e,t=false){if(!D){D=A(3774).ReadableStream}let s=null;if(e instanceof D){s=e}else if(i(e)){s=e.stream()}else{s=new D({async pull(e){e.enqueue(typeof l==="string"?F.encode(l):l);queueMicrotask((()=>a(e)))},start(){},type:undefined})}B(n(s));let c=null;let l=null;let g=null;let h=null;if(typeof e==="string"){l=e;h="text/plain;charset=UTF-8"}else if(e instanceof URLSearchParams){l=e.toString();h="application/x-www-form-urlencoded;charset=UTF-8"}else if(w(e)){l=new Uint8Array(e.slice())}else if(ArrayBuffer.isView(e)){l=new Uint8Array(e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength))}else if(r.isFormDataLike(e)){const t=`----formdata-undici-0${`${Math.floor(Math.random()*1e11)}`.padStart(11,"0")}`;const A=`--${t}\r\nContent-Disposition: form-data` -/*! formdata-polyfill. MIT License. Jimmy Wärting */;const escape=e=>e.replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/"/g,"%22");const normalizeLinefeeds=e=>e.replace(/\r?\n|\r/g,"\r\n");const s=[];const r=new Uint8Array([13,10]);g=0;let o=false;for(const[t,i]of e){if(typeof i==="string"){const e=F.encode(A+`; name="${escape(normalizeLinefeeds(t))}"`+`\r\n\r\n${normalizeLinefeeds(i)}\r\n`);s.push(e);g+=e.byteLength}else{const e=F.encode(`${A}; name="${escape(normalizeLinefeeds(t))}"`+(i.name?`; filename="${escape(i.name)}"`:"")+"\r\n"+`Content-Type: ${i.type||"application/octet-stream"}\r\n\r\n`);s.push(e,i,r);if(typeof i.size==="number"){g+=e.byteLength+i.size+r.byteLength}else{o=true}}}const i=F.encode(`--${t}--`);s.push(i);g+=i.byteLength;if(o){g=null}l=e;c=async function*(){for(const e of s){if(e.stream){yield*e.stream()}else{yield e}}};h="multipart/form-data; boundary="+t}else if(i(e)){l=e;g=e.size;if(e.type){h=e.type}}else if(typeof e[Symbol.asyncIterator]==="function"){if(t){throw new TypeError("keepalive")}if(r.isDisturbed(e)||e.locked){throw new TypeError("Response body object should not be disturbed or locked")}s=e instanceof D?e:o(e)}if(typeof l==="string"||r.isBuffer(l)){g=Buffer.byteLength(l)}if(c!=null){let t;s=new D({async start(){t=c(e)[Symbol.asyncIterator]()},async pull(e){const{value:A,done:r}=await t.next();if(r){queueMicrotask((()=>{e.close()}))}else{if(!I(s)){e.enqueue(new Uint8Array(A))}}return e.desiredSize>0},async cancel(e){await t.return()},type:undefined})}const u={stream:s,source:l,length:g};return[u,h]}function safelyExtractBody(e,t=false){if(!D){D=A(3774).ReadableStream}if(e instanceof D){B(!r.isDisturbed(e),"The body has already been consumed.");B(!e.locked,"The stream is locked.")}return extractBody(e,t)}function cloneBody(e){const[t,A]=e.stream.tee();const s=d(A,{transfer:[A]});const[,r]=s.tee();e.stream=t;return{stream:r,length:e.length,source:e.source}}async function*consumeBody(e){if(e){if(y(e)){yield e}else{const t=e.stream;if(r.isDisturbed(t)){throw new TypeError("The body has already been consumed.")}if(t.locked){throw new TypeError("The stream is locked.")}t[C]=true;yield*t}}}function throwIfAborted(e){if(e.aborted){throw new E("The operation was aborted.","AbortError")}}function bodyMixinMethods(e){const t={blob(){return specConsumeBody(this,(e=>{let t=bodyMimeType(this);if(t==="failure"){t=""}else if(t){t=R(t)}return new p([e],{type:t})}),e)},arrayBuffer(){return specConsumeBody(this,(e=>new Uint8Array(e).buffer),e)},text(){return specConsumeBody(this,utf8DecodeBytes,e)},json(){return specConsumeBody(this,parseJSONFromBytes,e)},async formData(){u.brandCheck(this,e);throwIfAborted(this[h]);const t=this.headers.get("Content-Type");if(/multipart\/form-data/.test(t)){const e={};for(const[t,A]of this.headers)e[t.toLowerCase()]=A;const t=new g;let A;try{A=new s({headers:e,preservePath:true})}catch(e){throw new E(`${e}`,"AbortError")}A.on("field",((e,A)=>{t.append(e,A)}));A.on("file",((e,A,s,r,o)=>{const i=[];if(r==="base64"||r.toLowerCase()==="base64"){let r="";A.on("data",(e=>{r+=e.toString().replace(/[\r\n]/gm,"");const t=r.length-r.length%4;i.push(Buffer.from(r.slice(0,t),"base64"));r=r.slice(t)}));A.on("end",(()=>{i.push(Buffer.from(r,"base64"));t.append(e,new S(i,s,{type:o}))}))}else{A.on("data",(e=>{i.push(e)}));A.on("end",(()=>{t.append(e,new S(i,s,{type:o}))}))}}));const r=new Promise(((e,t)=>{A.on("finish",e);A.on("error",(e=>t(new TypeError(e))))}));if(this.body!==null)for await(const e of consumeBody(this[h].body))A.write(e);A.end();await r;return t}else if(/application\/x-www-form-urlencoded/.test(t)){let e;try{let t="";const A=new TextDecoder("utf-8",{ignoreBOM:true});for await(const e of consumeBody(this[h].body)){if(!y(e)){throw new TypeError("Expected Uint8Array chunk")}t+=A.decode(e,{stream:true})}t+=A.decode();e=new URLSearchParams(t)}catch(e){throw Object.assign(new TypeError,{cause:e})}const t=new g;for(const[A,s]of e){t.append(A,s)}return t}else{await Promise.resolve();throwIfAborted(this[h]);throw u.errors.exception({header:`${e.name}.formData`,message:"Could not parse content as FormData."})}}};return t}function mixinBody(e){Object.assign(e.prototype,bodyMixinMethods(e))}async function specConsumeBody(e,t,A){u.brandCheck(e,A);throwIfAborted(e[h]);if(bodyUnusable(e[h].body)){throw new TypeError("Body is unusable")}const s=c();const errorSteps=e=>s.reject(e);const successSteps=e=>{try{s.resolve(t(e))}catch(e){errorSteps(e)}};if(e[h].body==null){successSteps(new Uint8Array);return s.promise}await l(e[h].body,successSteps,errorSteps);return s.promise}function bodyUnusable(e){return e!=null&&(e.stream.locked||r.isDisturbed(e.stream))}function utf8DecodeBytes(e){if(e.length===0){return""}if(e[0]===239&&e[1]===187&&e[2]===191){e=e.subarray(3)}const t=v.decode(e);return t}function parseJSONFromBytes(e){return JSON.parse(utf8DecodeBytes(e))}function bodyMimeType(e){const{headersList:t}=e[h];const A=t.get("content-type");if(A===null){return"failure"}return k(A)}e.exports={extractBody:extractBody,safelyExtractBody:safelyExtractBody,cloneBody:cloneBody,mixinBody:mixinBody}},7326:(e,t,A)=>{"use strict";const{MessageChannel:s,receiveMessageOnPort:r}=A(8167);const o=["GET","HEAD","POST"];const i=new Set(o);const n=[101,204,205,304];const a=[301,302,303,307,308];const c=new Set(a);const l=["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","5060","5061","6000","6566","6665","6666","6667","6668","6669","6697","10080"];const g=new Set(l);const h=["","no-referrer","no-referrer-when-downgrade","same-origin","origin","strict-origin","origin-when-cross-origin","strict-origin-when-cross-origin","unsafe-url"];const u=new Set(h);const E=["follow","manual","error"];const d=["GET","HEAD","OPTIONS","TRACE"];const p=new Set(d);const Q=["navigate","same-origin","no-cors","cors"];const C=["omit","same-origin","include"];const B=["default","no-store","reload","no-cache","force-cache","only-if-cached"];const I=["content-encoding","content-language","content-location","content-type","content-length"];const y=["half"];const w=["CONNECT","TRACE","TRACK"];const b=new Set(w);const k=["audio","audioworklet","font","image","manifest","paintworklet","script","style","track","video","xslt",""];const R=new Set(k);const D=globalThis.DOMException??(()=>{try{atob("~")}catch(e){return Object.getPrototypeOf(e).constructor}})();let S;const F=globalThis.structuredClone??function structuredClone(e,t=undefined){if(arguments.length===0){throw new TypeError("missing argument")}if(!S){S=new s}S.port1.unref();S.port2.unref();S.port1.postMessage(e,t?.transfer);return r(S.port2).message};e.exports={DOMException:D,structuredClone:F,subresource:k,forbiddenMethods:w,requestBodyHeader:I,referrerPolicy:h,requestRedirect:E,requestMode:Q,requestCredentials:C,requestCache:B,redirectStatus:a,corsSafeListedMethods:o,nullBodyStatus:n,safeMethods:d,badPorts:l,requestDuplex:y,subresourceSet:R,badPortsSet:g,redirectStatusSet:c,corsSafeListedMethodsSet:i,safeMethodsSet:p,forbiddenMethodsSet:b,referrerPolicySet:u}},4322:(e,t,A)=>{const s=A(2613);const{atob:r}=A(181);const{isomorphicDecode:o}=A(5523);const i=new TextEncoder;const n=/^[!#$%&'*+-.^_|~A-Za-z0-9]+$/;const a=/(\u000A|\u000D|\u0009|\u0020)/;const c=/[\u0009|\u0020-\u007E|\u0080-\u00FF]/;function dataURLProcessor(e){s(e.protocol==="data:");let t=URLSerializer(e,true);t=t.slice(5);const A={position:0};let r=collectASequenceOfCodePointsFast(",",t,A);const i=r.length;r=removeASCIIWhitespace(r,true,true);if(A.position>=t.length){return"failure"}A.position++;const n=t.slice(i+1);let a=stringPercentDecode(n);if(/;(\u0020){0,}base64$/i.test(r)){const e=o(a);a=forgivingBase64(e);if(a==="failure"){return"failure"}r=r.slice(0,-6);r=r.replace(/(\u0020)+$/,"");r=r.slice(0,-1)}if(r.startsWith(";")){r="text/plain"+r}let c=parseMIMEType(r);if(c==="failure"){c=parseMIMEType("text/plain;charset=US-ASCII")}return{mimeType:c,body:a}}function URLSerializer(e,t=false){if(!t){return e.href}const A=e.href;const s=e.hash.length;return s===0?A:A.substring(0,A.length-s)}function collectASequenceOfCodePoints(e,t,A){let s="";while(A.positione.length){return"failure"}t.position++;let s=collectASequenceOfCodePointsFast(";",e,t);s=removeHTTPWhitespace(s,false,true);if(s.length===0||!n.test(s)){return"failure"}const r=A.toLowerCase();const o=s.toLowerCase();const i={type:r,subtype:o,parameters:new Map,essence:`${r}/${o}`};while(t.positiona.test(e)),e,t);let A=collectASequenceOfCodePoints((e=>e!==";"&&e!=="="),e,t);A=A.toLowerCase();if(t.positione.length){break}let s=null;if(e[t.position]==='"'){s=collectAnHTTPQuotedString(e,t,true);collectASequenceOfCodePointsFast(";",e,t)}else{s=collectASequenceOfCodePointsFast(";",e,t);s=removeHTTPWhitespace(s,false,true);if(s.length===0){continue}}if(A.length!==0&&n.test(A)&&(s.length===0||c.test(s))&&!i.parameters.has(A)){i.parameters.set(A,s)}}return i}function forgivingBase64(e){e=e.replace(/[\u0009\u000A\u000C\u000D\u0020]/g,"");if(e.length%4===0){e=e.replace(/=?=$/,"")}if(e.length%4===1){return"failure"}if(/[^+/0-9A-Za-z]/.test(e)){return"failure"}const t=r(e);const A=new Uint8Array(t.length);for(let e=0;ee!=='"'&&e!=="\\"),e,t);if(t.position>=e.length){break}const A=e[t.position];t.position++;if(A==="\\"){if(t.position>=e.length){o+="\\";break}o+=e[t.position];t.position++}else{s(A==='"');break}}if(A){return o}return e.slice(r,t.position)}function serializeAMimeType(e){s(e!=="failure");const{parameters:t,essence:A}=e;let r=A;for(let[e,A]of t.entries()){r+=";";r+=e;r+="=";if(!n.test(A)){A=A.replace(/(\\|")/g,"\\$1");A='"'+A;A+='"'}r+=A}return r}function isHTTPWhiteSpace(e){return e==="\r"||e==="\n"||e==="\t"||e===" "}function removeHTTPWhitespace(e,t=true,A=true){let s=0;let r=e.length-1;if(t){for(;s0&&isHTTPWhiteSpace(e[r]);r--);}return e.slice(s,r+1)}function isASCIIWhitespace(e){return e==="\r"||e==="\n"||e==="\t"||e==="\f"||e===" "}function removeASCIIWhitespace(e,t=true,A=true){let s=0;let r=e.length-1;if(t){for(;s0&&isASCIIWhitespace(e[r]);r--);}return e.slice(s,r+1)}e.exports={dataURLProcessor:dataURLProcessor,URLSerializer:URLSerializer,collectASequenceOfCodePoints:collectASequenceOfCodePoints,collectASequenceOfCodePointsFast:collectASequenceOfCodePointsFast,stringPercentDecode:stringPercentDecode,parseMIMEType:parseMIMEType,collectAnHTTPQuotedString:collectAnHTTPQuotedString,serializeAMimeType:serializeAMimeType}},3041:(e,t,A)=>{"use strict";const{Blob:s,File:r}=A(181);const{types:o}=A(9023);const{kState:i}=A(9710);const{isBlobLike:n}=A(5523);const{webidl:a}=A(4222);const{parseMIMEType:c,serializeAMimeType:l}=A(4322);const{kEnumerableProperty:g}=A(3440);const h=new TextEncoder;class File extends s{constructor(e,t,A={}){a.argumentLengthCheck(arguments,2,{header:"File constructor"});e=a.converters["sequence"](e);t=a.converters.USVString(t);A=a.converters.FilePropertyBag(A);const s=t;let r=A.type;let o;e:{if(r){r=c(r);if(r==="failure"){r="";break e}r=l(r).toLowerCase()}o=A.lastModified}super(processBlobParts(e,A),{type:r});this[i]={name:s,lastModified:o,type:r}}get name(){a.brandCheck(this,File);return this[i].name}get lastModified(){a.brandCheck(this,File);return this[i].lastModified}get type(){a.brandCheck(this,File);return this[i].type}}class FileLike{constructor(e,t,A={}){const s=t;const r=A.type;const o=A.lastModified??Date.now();this[i]={blobLike:e,name:s,type:r,lastModified:o}}stream(...e){a.brandCheck(this,FileLike);return this[i].blobLike.stream(...e)}arrayBuffer(...e){a.brandCheck(this,FileLike);return this[i].blobLike.arrayBuffer(...e)}slice(...e){a.brandCheck(this,FileLike);return this[i].blobLike.slice(...e)}text(...e){a.brandCheck(this,FileLike);return this[i].blobLike.text(...e)}get size(){a.brandCheck(this,FileLike);return this[i].blobLike.size}get type(){a.brandCheck(this,FileLike);return this[i].blobLike.type}get name(){a.brandCheck(this,FileLike);return this[i].name}get lastModified(){a.brandCheck(this,FileLike);return this[i].lastModified}get[Symbol.toStringTag](){return"File"}}Object.defineProperties(File.prototype,{[Symbol.toStringTag]:{value:"File",configurable:true},name:g,lastModified:g});a.converters.Blob=a.interfaceConverter(s);a.converters.BlobPart=function(e,t){if(a.util.Type(e)==="Object"){if(n(e)){return a.converters.Blob(e,{strict:false})}if(ArrayBuffer.isView(e)||o.isAnyArrayBuffer(e)){return a.converters.BufferSource(e,t)}}return a.converters.USVString(e,t)};a.converters["sequence"]=a.sequenceConverter(a.converters.BlobPart);a.converters.FilePropertyBag=a.dictionaryConverter([{key:"lastModified",converter:a.converters["long long"],get defaultValue(){return Date.now()}},{key:"type",converter:a.converters.DOMString,defaultValue:""},{key:"endings",converter:e=>{e=a.converters.DOMString(e);e=e.toLowerCase();if(e!=="native"){e="transparent"}return e},defaultValue:"transparent"}]);function processBlobParts(e,t){const A=[];for(const s of e){if(typeof s==="string"){let e=s;if(t.endings==="native"){e=convertLineEndingsNative(e)}A.push(h.encode(e))}else if(o.isAnyArrayBuffer(s)||o.isTypedArray(s)){if(!s.buffer){A.push(new Uint8Array(s))}else{A.push(new Uint8Array(s.buffer,s.byteOffset,s.byteLength))}}else if(n(s)){A.push(s)}}return A}function convertLineEndingsNative(e){let t="\n";if(process.platform==="win32"){t="\r\n"}return e.replace(/\r?\n/g,t)}function isFileLike(e){return r&&e instanceof r||e instanceof File||e&&(typeof e.stream==="function"||typeof e.arrayBuffer==="function")&&e[Symbol.toStringTag]==="File"}e.exports={File:File,FileLike:FileLike,isFileLike:isFileLike}},3073:(e,t,A)=>{"use strict";const{isBlobLike:s,toUSVString:r,makeIterator:o}=A(5523);const{kState:i}=A(9710);const{File:n,FileLike:a,isFileLike:c}=A(3041);const{webidl:l}=A(4222);const{Blob:g,File:h}=A(181);const u=h??n;class FormData{constructor(e){if(e!==undefined){throw l.errors.conversionFailed({prefix:"FormData constructor",argument:"Argument 1",types:["undefined"]})}this[i]=[]}append(e,t,A=undefined){l.brandCheck(this,FormData);l.argumentLengthCheck(arguments,2,{header:"FormData.append"});if(arguments.length===3&&!s(t)){throw new TypeError("Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'")}e=l.converters.USVString(e);t=s(t)?l.converters.Blob(t,{strict:false}):l.converters.USVString(t);A=arguments.length===3?l.converters.USVString(A):undefined;const r=makeEntry(e,t,A);this[i].push(r)}delete(e){l.brandCheck(this,FormData);l.argumentLengthCheck(arguments,1,{header:"FormData.delete"});e=l.converters.USVString(e);this[i]=this[i].filter((t=>t.name!==e))}get(e){l.brandCheck(this,FormData);l.argumentLengthCheck(arguments,1,{header:"FormData.get"});e=l.converters.USVString(e);const t=this[i].findIndex((t=>t.name===e));if(t===-1){return null}return this[i][t].value}getAll(e){l.brandCheck(this,FormData);l.argumentLengthCheck(arguments,1,{header:"FormData.getAll"});e=l.converters.USVString(e);return this[i].filter((t=>t.name===e)).map((e=>e.value))}has(e){l.brandCheck(this,FormData);l.argumentLengthCheck(arguments,1,{header:"FormData.has"});e=l.converters.USVString(e);return this[i].findIndex((t=>t.name===e))!==-1}set(e,t,A=undefined){l.brandCheck(this,FormData);l.argumentLengthCheck(arguments,2,{header:"FormData.set"});if(arguments.length===3&&!s(t)){throw new TypeError("Failed to execute 'set' on 'FormData': parameter 2 is not of type 'Blob'")}e=l.converters.USVString(e);t=s(t)?l.converters.Blob(t,{strict:false}):l.converters.USVString(t);A=arguments.length===3?r(A):undefined;const o=makeEntry(e,t,A);const n=this[i].findIndex((t=>t.name===e));if(n!==-1){this[i]=[...this[i].slice(0,n),o,...this[i].slice(n+1).filter((t=>t.name!==e))]}else{this[i].push(o)}}entries(){l.brandCheck(this,FormData);return o((()=>this[i].map((e=>[e.name,e.value]))),"FormData","key+value")}keys(){l.brandCheck(this,FormData);return o((()=>this[i].map((e=>[e.name,e.value]))),"FormData","key")}values(){l.brandCheck(this,FormData);return o((()=>this[i].map((e=>[e.name,e.value]))),"FormData","value")}forEach(e,t=globalThis){l.brandCheck(this,FormData);l.argumentLengthCheck(arguments,1,{header:"FormData.forEach"});if(typeof e!=="function"){throw new TypeError("Failed to execute 'forEach' on 'FormData': parameter 1 is not of type 'Function'.")}for(const[A,s]of this){e.apply(t,[s,A,this])}}}FormData.prototype[Symbol.iterator]=FormData.prototype.entries;Object.defineProperties(FormData.prototype,{[Symbol.toStringTag]:{value:"FormData",configurable:true}});function makeEntry(e,t,A){e=Buffer.from(e).toString("utf8");if(typeof t==="string"){t=Buffer.from(t).toString("utf8")}else{if(!c(t)){t=t instanceof g?new u([t],"blob",{type:t.type}):new a(t,"blob",{type:t.type})}if(A!==undefined){const e={type:t.type,lastModified:t.lastModified};t=h&&t instanceof h||t instanceof n?new u([t],A,e):new a(t,A,e)}}return{name:e,value:t}}e.exports={FormData:FormData}},5628:e=>{"use strict";const t=Symbol.for("undici.globalOrigin.1");function getGlobalOrigin(){return globalThis[t]}function setGlobalOrigin(e){if(e===undefined){Object.defineProperty(globalThis,t,{value:undefined,writable:true,enumerable:false,configurable:false});return}const A=new URL(e);if(A.protocol!=="http:"&&A.protocol!=="https:"){throw new TypeError(`Only http & https urls are allowed, received ${A.protocol}`)}Object.defineProperty(globalThis,t,{value:A,writable:true,enumerable:false,configurable:false})}e.exports={getGlobalOrigin:getGlobalOrigin,setGlobalOrigin:setGlobalOrigin}},6349:(e,t,A)=>{"use strict";const{kHeadersList:s,kConstruct:r}=A(6443);const{kGuard:o}=A(9710);const{kEnumerableProperty:i}=A(3440);const{makeIterator:n,isValidHeaderName:a,isValidHeaderValue:c}=A(5523);const{webidl:l}=A(4222);const g=A(2613);const h=Symbol("headers map");const u=Symbol("headers map sorted");function isHTTPWhiteSpaceCharCode(e){return e===10||e===13||e===9||e===32}function headerValueNormalize(e){let t=0;let A=e.length;while(A>t&&isHTTPWhiteSpaceCharCode(e.charCodeAt(A-1)))--A;while(A>t&&isHTTPWhiteSpaceCharCode(e.charCodeAt(t)))++t;return t===0&&A===e.length?e:e.substring(t,A)}function fill(e,t){if(Array.isArray(t)){for(let A=0;A>","record"]})}}function appendHeader(e,t,A){A=headerValueNormalize(A);if(!a(t)){throw l.errors.invalidArgument({prefix:"Headers.append",value:t,type:"header name"})}else if(!c(A)){throw l.errors.invalidArgument({prefix:"Headers.append",value:A,type:"header value"})}if(e[o]==="immutable"){throw new TypeError("immutable")}else if(e[o]==="request-no-cors"){}return e[s].append(t,A)}class HeadersList{cookies=null;constructor(e){if(e instanceof HeadersList){this[h]=new Map(e[h]);this[u]=e[u];this.cookies=e.cookies===null?null:[...e.cookies]}else{this[h]=new Map(e);this[u]=null}}contains(e){e=e.toLowerCase();return this[h].has(e)}clear(){this[h].clear();this[u]=null;this.cookies=null}append(e,t){this[u]=null;const A=e.toLowerCase();const s=this[h].get(A);if(s){const e=A==="cookie"?"; ":", ";this[h].set(A,{name:s.name,value:`${s.value}${e}${t}`})}else{this[h].set(A,{name:e,value:t})}if(A==="set-cookie"){this.cookies??=[];this.cookies.push(t)}}set(e,t){this[u]=null;const A=e.toLowerCase();if(A==="set-cookie"){this.cookies=[t]}this[h].set(A,{name:e,value:t})}delete(e){this[u]=null;e=e.toLowerCase();if(e==="set-cookie"){this.cookies=null}this[h].delete(e)}get(e){const t=this[h].get(e.toLowerCase());return t===undefined?null:t.value}*[Symbol.iterator](){for(const[e,{value:t}]of this[h]){yield[e,t]}}get entries(){const e={};if(this[h].size){for(const{name:t,value:A}of this[h].values()){e[t]=A}}return e}}class Headers{constructor(e=undefined){if(e===r){return}this[s]=new HeadersList;this[o]="none";if(e!==undefined){e=l.converters.HeadersInit(e);fill(this,e)}}append(e,t){l.brandCheck(this,Headers);l.argumentLengthCheck(arguments,2,{header:"Headers.append"});e=l.converters.ByteString(e);t=l.converters.ByteString(t);return appendHeader(this,e,t)}delete(e){l.brandCheck(this,Headers);l.argumentLengthCheck(arguments,1,{header:"Headers.delete"});e=l.converters.ByteString(e);if(!a(e)){throw l.errors.invalidArgument({prefix:"Headers.delete",value:e,type:"header name"})}if(this[o]==="immutable"){throw new TypeError("immutable")}else if(this[o]==="request-no-cors"){}if(!this[s].contains(e)){return}this[s].delete(e)}get(e){l.brandCheck(this,Headers);l.argumentLengthCheck(arguments,1,{header:"Headers.get"});e=l.converters.ByteString(e);if(!a(e)){throw l.errors.invalidArgument({prefix:"Headers.get",value:e,type:"header name"})}return this[s].get(e)}has(e){l.brandCheck(this,Headers);l.argumentLengthCheck(arguments,1,{header:"Headers.has"});e=l.converters.ByteString(e);if(!a(e)){throw l.errors.invalidArgument({prefix:"Headers.has",value:e,type:"header name"})}return this[s].contains(e)}set(e,t){l.brandCheck(this,Headers);l.argumentLengthCheck(arguments,2,{header:"Headers.set"});e=l.converters.ByteString(e);t=l.converters.ByteString(t);t=headerValueNormalize(t);if(!a(e)){throw l.errors.invalidArgument({prefix:"Headers.set",value:e,type:"header name"})}else if(!c(t)){throw l.errors.invalidArgument({prefix:"Headers.set",value:t,type:"header value"})}if(this[o]==="immutable"){throw new TypeError("immutable")}else if(this[o]==="request-no-cors"){}this[s].set(e,t)}getSetCookie(){l.brandCheck(this,Headers);const e=this[s].cookies;if(e){return[...e]}return[]}get[u](){if(this[s][u]){return this[s][u]}const e=[];const t=[...this[s]].sort(((e,t)=>e[0]e),"Headers","key")}return n((()=>[...this[u].values()]),"Headers","key")}values(){l.brandCheck(this,Headers);if(this[o]==="immutable"){const e=this[u];return n((()=>e),"Headers","value")}return n((()=>[...this[u].values()]),"Headers","value")}entries(){l.brandCheck(this,Headers);if(this[o]==="immutable"){const e=this[u];return n((()=>e),"Headers","key+value")}return n((()=>[...this[u].values()]),"Headers","key+value")}forEach(e,t=globalThis){l.brandCheck(this,Headers);l.argumentLengthCheck(arguments,1,{header:"Headers.forEach"});if(typeof e!=="function"){throw new TypeError("Failed to execute 'forEach' on 'Headers': parameter 1 is not of type 'Function'.")}for(const[A,s]of this){e.apply(t,[s,A,this])}}[Symbol.for("nodejs.util.inspect.custom")](){l.brandCheck(this,Headers);return this[s]}}Headers.prototype[Symbol.iterator]=Headers.prototype.entries;Object.defineProperties(Headers.prototype,{append:i,delete:i,get:i,has:i,set:i,getSetCookie:i,keys:i,values:i,entries:i,forEach:i,[Symbol.iterator]:{enumerable:false},[Symbol.toStringTag]:{value:"Headers",configurable:true}});l.converters.HeadersInit=function(e){if(l.util.Type(e)==="Object"){if(e[Symbol.iterator]){return l.converters["sequence>"](e)}return l.converters["record"](e)}throw l.errors.conversionFailed({prefix:"Headers constructor",argument:"Argument 1",types:["sequence>","record"]})};e.exports={fill:fill,Headers:Headers,HeadersList:HeadersList}},2315:(e,t,A)=>{"use strict";const{Response:s,makeNetworkError:r,makeAppropriateNetworkError:o,filterResponse:i,makeResponse:n}=A(8676);const{Headers:a}=A(6349);const{Request:c,makeRequest:l}=A(5194);const g=A(3106);const{bytesMatch:h,makePolicyContainer:u,clonePolicyContainer:E,requestBadPort:d,TAOCheck:p,appendRequestOriginHeader:Q,responseLocationURL:C,requestCurrentURL:B,setRequestReferrerPolicyOnRedirect:I,tryUpgradeRequestToAPotentiallyTrustworthyURL:y,createOpaqueTimingInfo:w,appendFetchMetadata:b,corsCheck:k,crossOriginResourcePolicyCheck:R,determineRequestsReferrer:D,coarsenedSharedCurrentTime:S,createDeferredPromise:F,isBlobLike:v,sameOrigin:T,isCancelled:N,isAborted:U,isErrorLike:L,fullyReadBody:G,readableStreamClose:x,isomorphicEncode:M,urlIsLocal:_,urlIsHttpHttpsScheme:P,urlHasHttpsScheme:O}=A(5523);const{kState:H,kHeaders:Y,kGuard:J,kRealm:V}=A(9710);const W=A(2613);const{safelyExtractBody:q}=A(8923);const{redirectStatusSet:j,nullBodyStatus:z,safeMethodsSet:Z,requestBodyHeader:X,subresourceSet:K,DOMException:$}=A(7326);const{kHeadersList:ee}=A(6443);const te=A(4434);const{Readable:Ae,pipeline:se}=A(2203);const{addAbortListener:re,isErrored:oe,isReadable:ie,nodeMajor:ne,nodeMinor:ae}=A(3440);const{dataURLProcessor:ce,serializeAMimeType:le}=A(4322);const{TransformStream:ge}=A(3774);const{getGlobalDispatcher:he}=A(2581);const{webidl:ue}=A(4222);const{STATUS_CODES:Ee}=A(8611);const de=["GET","HEAD"];let pe;let Qe=globalThis.ReadableStream;class Fetch extends te{constructor(e){super();this.dispatcher=e;this.connection=null;this.dump=false;this.state="ongoing";this.setMaxListeners(21)}terminate(e){if(this.state!=="ongoing"){return}this.state="terminated";this.connection?.destroy(e);this.emit("terminated",e)}abort(e){if(this.state!=="ongoing"){return}this.state="aborted";if(!e){e=new $("The operation was aborted.","AbortError")}this.serializedAbortReason=e;this.connection?.destroy(e);this.emit("terminated",e)}}function fetch(e,t={}){ue.argumentLengthCheck(arguments,1,{header:"globalThis.fetch"});const A=F();let r;try{r=new c(e,t)}catch(e){A.reject(e);return A.promise}const o=r[H];if(r.signal.aborted){abortFetch(A,o,null,r.signal.reason);return A.promise}const i=o.client.globalObject;if(i?.constructor?.name==="ServiceWorkerGlobalScope"){o.serviceWorkers="none"}let n=null;const a=null;let l=false;let g=null;re(r.signal,(()=>{l=true;W(g!=null);g.abort(r.signal.reason);abortFetch(A,o,n,r.signal.reason)}));const handleFetchDone=e=>finalizeAndReportTiming(e,"fetch");const processResponse=e=>{if(l){return Promise.resolve()}if(e.aborted){abortFetch(A,o,n,g.serializedAbortReason);return Promise.resolve()}if(e.type==="error"){A.reject(Object.assign(new TypeError("fetch failed"),{cause:e.error}));return Promise.resolve()}n=new s;n[H]=e;n[V]=a;n[Y][ee]=e.headersList;n[Y][J]="immutable";n[Y][V]=a;A.resolve(n)};g=fetching({request:o,processResponseEndOfBody:handleFetchDone,processResponse:processResponse,dispatcher:t.dispatcher??he()});return A.promise}function finalizeAndReportTiming(e,t="other"){if(e.type==="error"&&e.aborted){return}if(!e.urlList?.length){return}const A=e.urlList[0];let s=e.timingInfo;let r=e.cacheState;if(!P(A)){return}if(s===null){return}if(!e.timingAllowPassed){s=w({startTime:s.startTime});r=""}s.endTime=S();e.timingInfo=s;markResourceTiming(s,A,t,globalThis,r)}function markResourceTiming(e,t,A,s,r){if(ne>18||ne===18&&ae>=2){performance.markResourceTiming(e,t.href,A,s,r)}}function abortFetch(e,t,A,s){if(!s){s=new $("The operation was aborted.","AbortError")}e.reject(s);if(t.body!=null&&ie(t.body?.stream)){t.body.stream.cancel(s).catch((e=>{if(e.code==="ERR_INVALID_STATE"){return}throw e}))}if(A==null){return}const r=A[H];if(r.body!=null&&ie(r.body?.stream)){r.body.stream.cancel(s).catch((e=>{if(e.code==="ERR_INVALID_STATE"){return}throw e}))}}function fetching({request:e,processRequestBodyChunkLength:t,processRequestEndOfBody:A,processResponse:s,processResponseEndOfBody:r,processResponseConsumeBody:o,useParallelQueue:i=false,dispatcher:n}){let a=null;let c=false;if(e.client!=null){a=e.client.globalObject;c=e.client.crossOriginIsolatedCapability}const l=S(c);const g=w({startTime:l});const h={controller:new Fetch(n),request:e,timingInfo:g,processRequestBodyChunkLength:t,processRequestEndOfBody:A,processResponse:s,processResponseConsumeBody:o,processResponseEndOfBody:r,taskDestination:a,crossOriginIsolatedCapability:c};W(!e.body||e.body.stream);if(e.window==="client"){e.window=e.client?.globalObject?.constructor?.name==="Window"?e.client:"no-window"}if(e.origin==="client"){e.origin=e.client?.origin}if(e.policyContainer==="client"){if(e.client!=null){e.policyContainer=E(e.client.policyContainer)}else{e.policyContainer=u()}}if(!e.headersList.contains("accept")){const t="*/*";e.headersList.append("accept",t)}if(!e.headersList.contains("accept-language")){e.headersList.append("accept-language","*")}if(e.priority===null){}if(K.has(e.destination)){}mainFetch(h).catch((e=>{h.controller.terminate(e)}));return h.controller}async function mainFetch(e,t=false){const A=e.request;let s=null;if(A.localURLsOnly&&!_(B(A))){s=r("local URLs only")}y(A);if(d(A)==="blocked"){s=r("bad port")}if(A.referrerPolicy===""){A.referrerPolicy=A.policyContainer.referrerPolicy}if(A.referrer!=="no-referrer"){A.referrer=D(A)}if(s===null){s=await(async()=>{const t=B(A);if(T(t,A.url)&&A.responseTainting==="basic"||t.protocol==="data:"||(A.mode==="navigate"||A.mode==="websocket")){A.responseTainting="basic";return await schemeFetch(e)}if(A.mode==="same-origin"){return r('request mode cannot be "same-origin"')}if(A.mode==="no-cors"){if(A.redirect!=="follow"){return r('redirect mode cannot be "follow" for "no-cors" request')}A.responseTainting="opaque";return await schemeFetch(e)}if(!P(B(A))){return r("URL scheme must be a HTTP(S) scheme")}A.responseTainting="cors";return await httpFetch(e)})()}if(t){return s}if(s.status!==0&&!s.internalResponse){if(A.responseTainting==="cors"){}if(A.responseTainting==="basic"){s=i(s,"basic")}else if(A.responseTainting==="cors"){s=i(s,"cors")}else if(A.responseTainting==="opaque"){s=i(s,"opaque")}else{W(false)}}let o=s.status===0?s:s.internalResponse;if(o.urlList.length===0){o.urlList.push(...A.urlList)}if(!A.timingAllowFailed){s.timingAllowPassed=true}if(s.type==="opaque"&&o.status===206&&o.rangeRequested&&!A.headers.contains("range")){s=o=r()}if(s.status!==0&&(A.method==="HEAD"||A.method==="CONNECT"||z.includes(o.status))){o.body=null;e.controller.dump=true}if(A.integrity){const processBodyError=t=>fetchFinale(e,r(t));if(A.responseTainting==="opaque"||s.body==null){processBodyError(s.error);return}const processBody=t=>{if(!h(t,A.integrity)){processBodyError("integrity mismatch");return}s.body=q(t)[0];fetchFinale(e,s)};await G(s.body,processBody,processBodyError)}else{fetchFinale(e,s)}}function schemeFetch(e){if(N(e)&&e.request.redirectCount===0){return Promise.resolve(o(e))}const{request:t}=e;const{protocol:s}=B(t);switch(s){case"about:":{return Promise.resolve(r("about scheme is not supported"))}case"blob:":{if(!pe){pe=A(181).resolveObjectURL}const e=B(t);if(e.search.length!==0){return Promise.resolve(r("NetworkError when attempting to fetch resource."))}const s=pe(e.toString());if(t.method!=="GET"||!v(s)){return Promise.resolve(r("invalid method"))}const o=q(s);const i=o[0];const a=M(`${i.length}`);const c=o[1]??"";const l=n({statusText:"OK",headersList:[["content-length",{name:"Content-Length",value:a}],["content-type",{name:"Content-Type",value:c}]]});l.body=i;return Promise.resolve(l)}case"data:":{const e=B(t);const A=ce(e);if(A==="failure"){return Promise.resolve(r("failed to fetch the data URL"))}const s=le(A.mimeType);return Promise.resolve(n({statusText:"OK",headersList:[["content-type",{name:"Content-Type",value:s}]],body:q(A.body)[0]}))}case"file:":{return Promise.resolve(r("not implemented... yet..."))}case"http:":case"https:":{return httpFetch(e).catch((e=>r(e)))}default:{return Promise.resolve(r("unknown scheme"))}}}function finalizeResponse(e,t){e.request.done=true;if(e.processResponseDone!=null){queueMicrotask((()=>e.processResponseDone(t)))}}function fetchFinale(e,t){if(t.type==="error"){t.urlList=[e.request.urlList[0]];t.timingInfo=w({startTime:e.timingInfo.startTime})}const processResponseEndOfBody=()=>{e.request.done=true;if(e.processResponseEndOfBody!=null){queueMicrotask((()=>e.processResponseEndOfBody(t)))}};if(e.processResponse!=null){queueMicrotask((()=>e.processResponse(t)))}if(t.body==null){processResponseEndOfBody()}else{const identityTransformAlgorithm=(e,t)=>{t.enqueue(e)};const e=new ge({start(){},transform:identityTransformAlgorithm,flush:processResponseEndOfBody},{size(){return 1}},{size(){return 1}});t.body={stream:t.body.stream.pipeThrough(e)}}if(e.processResponseConsumeBody!=null){const processBody=A=>e.processResponseConsumeBody(t,A);const processBodyError=A=>e.processResponseConsumeBody(t,A);if(t.body==null){queueMicrotask((()=>processBody(null)))}else{return G(t.body,processBody,processBodyError)}return Promise.resolve()}}async function httpFetch(e){const t=e.request;let A=null;let s=null;const o=e.timingInfo;if(t.serviceWorkers==="all"){}if(A===null){if(t.redirect==="follow"){t.serviceWorkers="none"}s=A=await httpNetworkOrCacheFetch(e);if(t.responseTainting==="cors"&&k(t,A)==="failure"){return r("cors failure")}if(p(t,A)==="failure"){t.timingAllowFailed=true}}if((t.responseTainting==="opaque"||A.type==="opaque")&&R(t.origin,t.client,t.destination,s)==="blocked"){return r("blocked")}if(j.has(s.status)){if(t.redirect!=="manual"){e.controller.connection.destroy()}if(t.redirect==="error"){A=r("unexpected redirect")}else if(t.redirect==="manual"){A=s}else if(t.redirect==="follow"){A=await httpRedirectFetch(e,A)}else{W(false)}}A.timingInfo=o;return A}function httpRedirectFetch(e,t){const A=e.request;const s=t.internalResponse?t.internalResponse:t;let o;try{o=C(s,B(A).hash);if(o==null){return t}}catch(e){return Promise.resolve(r(e))}if(!P(o)){return Promise.resolve(r("URL scheme must be a HTTP(S) scheme"))}if(A.redirectCount===20){return Promise.resolve(r("redirect count exceeded"))}A.redirectCount+=1;if(A.mode==="cors"&&(o.username||o.password)&&!T(A,o)){return Promise.resolve(r('cross origin not allowed for request mode "cors"'))}if(A.responseTainting==="cors"&&(o.username||o.password)){return Promise.resolve(r('URL cannot contain credentials for request mode "cors"'))}if(s.status!==303&&A.body!=null&&A.body.source==null){return Promise.resolve(r())}if([301,302].includes(s.status)&&A.method==="POST"||s.status===303&&!de.includes(A.method)){A.method="GET";A.body=null;for(const e of X){A.headersList.delete(e)}}if(!T(B(A),o)){A.headersList.delete("authorization");A.headersList.delete("proxy-authorization",true);A.headersList.delete("cookie");A.headersList.delete("host")}if(A.body!=null){W(A.body.source!=null);A.body=q(A.body.source)[0]}const i=e.timingInfo;i.redirectEndTime=i.postRedirectStartTime=S(e.crossOriginIsolatedCapability);if(i.redirectStartTime===0){i.redirectStartTime=i.startTime}A.urlList.push(o);I(A,s);return mainFetch(e,true)}async function httpNetworkOrCacheFetch(e,t=false,A=false){const s=e.request;let i=null;let n=null;let a=null;const c=null;const g=false;if(s.window==="no-window"&&s.redirect==="error"){i=e;n=s}else{n=l(s);i={...e};i.request=n}const h=s.credentials==="include"||s.credentials==="same-origin"&&s.responseTainting==="basic";const u=n.body?n.body.length:null;let E=null;if(n.body==null&&["POST","PUT"].includes(n.method)){E="0"}if(u!=null){E=M(`${u}`)}if(E!=null){n.headersList.append("content-length",E)}if(u!=null&&n.keepalive){}if(n.referrer instanceof URL){n.headersList.append("referer",M(n.referrer.href))}Q(n);b(n);if(!n.headersList.contains("user-agent")){n.headersList.append("user-agent",typeof esbuildDetection==="undefined"?"undici":"node")}if(n.cache==="default"&&(n.headersList.contains("if-modified-since")||n.headersList.contains("if-none-match")||n.headersList.contains("if-unmodified-since")||n.headersList.contains("if-match")||n.headersList.contains("if-range"))){n.cache="no-store"}if(n.cache==="no-cache"&&!n.preventNoCacheCacheControlHeaderModification&&!n.headersList.contains("cache-control")){n.headersList.append("cache-control","max-age=0")}if(n.cache==="no-store"||n.cache==="reload"){if(!n.headersList.contains("pragma")){n.headersList.append("pragma","no-cache")}if(!n.headersList.contains("cache-control")){n.headersList.append("cache-control","no-cache")}}if(n.headersList.contains("range")){n.headersList.append("accept-encoding","identity")}if(!n.headersList.contains("accept-encoding")){if(O(B(n))){n.headersList.append("accept-encoding","br, gzip, deflate")}else{n.headersList.append("accept-encoding","gzip, deflate")}}n.headersList.delete("host");if(h){}if(c==null){n.cache="no-store"}if(n.mode!=="no-store"&&n.mode!=="reload"){}if(a==null){if(n.mode==="only-if-cached"){return r("only if cached")}const e=await httpNetworkFetch(i,h,A);if(!Z.has(n.method)&&e.status>=200&&e.status<=399){}if(g&&e.status===304){}if(a==null){a=e}}a.urlList=[...n.urlList];if(n.headersList.contains("range")){a.rangeRequested=true}a.requestIncludesCredentials=h;if(a.status===407){if(s.window==="no-window"){return r()}if(N(e)){return o(e)}return r("proxy authentication required")}if(a.status===421&&!A&&(s.body==null||s.body.source!=null)){if(N(e)){return o(e)}e.controller.connection.destroy();a=await httpNetworkOrCacheFetch(e,t,true)}if(t){}return a}async function httpNetworkFetch(e,t=false,s=false){W(!e.controller.connection||e.controller.connection.destroyed);e.controller.connection={abort:null,destroyed:false,destroy(e){if(!this.destroyed){this.destroyed=true;this.abort?.(e??new $("The operation was aborted.","AbortError"))}}};const i=e.request;let c=null;const l=e.timingInfo;const h=null;if(h==null){i.cache="no-store"}const u=s?"yes":"no";if(i.mode==="websocket"){}else{}let E=null;if(i.body==null&&e.processRequestEndOfBody){queueMicrotask((()=>e.processRequestEndOfBody()))}else if(i.body!=null){const processBodyChunk=async function*(t){if(N(e)){return}yield t;e.processRequestBodyChunkLength?.(t.byteLength)};const processEndOfBody=()=>{if(N(e)){return}if(e.processRequestEndOfBody){e.processRequestEndOfBody()}};const processBodyError=t=>{if(N(e)){return}if(t.name==="AbortError"){e.controller.abort()}else{e.controller.terminate(t)}};E=async function*(){try{for await(const e of i.body.stream){yield*processBodyChunk(e)}processEndOfBody()}catch(e){processBodyError(e)}}()}try{const{body:t,status:A,statusText:s,headersList:r,socket:o}=await dispatch({body:E});if(o){c=n({status:A,statusText:s,headersList:r,socket:o})}else{const o=t[Symbol.asyncIterator]();e.controller.next=()=>o.next();c=n({status:A,statusText:s,headersList:r})}}catch(t){if(t.name==="AbortError"){e.controller.connection.destroy();return o(e,t)}return r(t)}const pullAlgorithm=()=>{e.controller.resume()};const cancelAlgorithm=t=>{e.controller.abort(t)};if(!Qe){Qe=A(3774).ReadableStream}const d=new Qe({async start(t){e.controller.controller=t},async pull(e){await pullAlgorithm(e)},async cancel(e){await cancelAlgorithm(e)}},{highWaterMark:0,size(){return 1}});c.body={stream:d};e.controller.on("terminated",onAborted);e.controller.resume=async()=>{while(true){let t;let A;try{const{done:A,value:s}=await e.controller.next();if(U(e)){break}t=A?undefined:s}catch(s){if(e.controller.ended&&!l.encodedBodySize){t=undefined}else{t=s;A=true}}if(t===undefined){x(e.controller.controller);finalizeResponse(e,c);return}l.decodedBodySize+=t?.byteLength??0;if(A){e.controller.terminate(t);return}e.controller.controller.enqueue(new Uint8Array(t));if(oe(d)){e.controller.terminate();return}if(!e.controller.controller.desiredSize){return}}};function onAborted(t){if(U(e)){c.aborted=true;if(ie(d)){e.controller.controller.error(e.controller.serializedAbortReason)}}else{if(ie(d)){e.controller.controller.error(new TypeError("terminated",{cause:L(t)?t:undefined}))}}e.controller.connection.destroy()}return c;async function dispatch({body:t}){const A=B(i);const s=e.controller.dispatcher;return new Promise(((r,o)=>s.dispatch({path:A.pathname+A.search,origin:A.origin,method:i.method,body:e.controller.dispatcher.isMockActive?i.body&&(i.body.source||i.body.stream):t,headers:i.headersList.entries,maxRedirections:0,upgrade:i.mode==="websocket"?"websocket":undefined},{body:null,abort:null,onConnect(t){const{connection:A}=e.controller;if(A.destroyed){t(new $("The operation was aborted.","AbortError"))}else{e.controller.on("terminated",t);this.abort=A.abort=t}},onHeaders(e,t,A,s){if(e<200){return}let o=[];let n="";const c=new a;if(Array.isArray(t)){for(let e=0;ee.trim()))}else if(A.toLowerCase()==="location"){n=s}c[ee].append(A,s)}}else{const e=Object.keys(t);for(const A of e){const e=t[A];if(A.toLowerCase()==="content-encoding"){o=e.toLowerCase().split(",").map((e=>e.trim())).reverse()}else if(A.toLowerCase()==="location"){n=e}c[ee].append(A,e)}}this.body=new Ae({read:A});const l=[];const h=i.redirect==="follow"&&n&&j.has(e);if(i.method!=="HEAD"&&i.method!=="CONNECT"&&!z.includes(e)&&!h){for(const e of o){if(e==="x-gzip"||e==="gzip"){l.push(g.createGunzip({flush:g.constants.Z_SYNC_FLUSH,finishFlush:g.constants.Z_SYNC_FLUSH}))}else if(e==="deflate"){l.push(g.createInflate())}else if(e==="br"){l.push(g.createBrotliDecompress())}else{l.length=0;break}}}r({status:e,statusText:s,headersList:c[ee],body:l.length?se(this.body,...l,(()=>{})):this.body.on("error",(()=>{}))});return true},onData(t){if(e.controller.dump){return}const A=t;l.encodedBodySize+=A.byteLength;return this.body.push(A)},onComplete(){if(this.abort){e.controller.off("terminated",this.abort)}e.controller.ended=true;this.body.push(null)},onError(t){if(this.abort){e.controller.off("terminated",this.abort)}this.body?.destroy(t);e.controller.terminate(t);o(t)},onUpgrade(e,t,A){if(e!==101){return}const s=new a;for(let e=0;e{"use strict";const{extractBody:s,mixinBody:r,cloneBody:o}=A(8923);const{Headers:i,fill:n,HeadersList:a}=A(6349);const{FinalizationRegistry:c}=A(3194)();const l=A(3440);const{isValidHTTPToken:g,sameOrigin:h,normalizeMethod:u,makePolicyContainer:E,normalizeMethodRecord:d}=A(5523);const{forbiddenMethodsSet:p,corsSafeListedMethodsSet:Q,referrerPolicy:C,requestRedirect:B,requestMode:I,requestCredentials:y,requestCache:w,requestDuplex:b}=A(7326);const{kEnumerableProperty:k}=l;const{kHeaders:R,kSignal:D,kState:S,kGuard:F,kRealm:v}=A(9710);const{webidl:T}=A(4222);const{getGlobalOrigin:N}=A(5628);const{URLSerializer:U}=A(4322);const{kHeadersList:L,kConstruct:G}=A(6443);const x=A(2613);const{getMaxListeners:M,setMaxListeners:_,getEventListeners:P,defaultMaxListeners:O}=A(4434);let H=globalThis.TransformStream;const Y=Symbol("abortController");const J=new c((({signal:e,abort:t})=>{e.removeEventListener("abort",t)}));class Request{constructor(e,t={}){if(e===G){return}T.argumentLengthCheck(arguments,1,{header:"Request constructor"});e=T.converters.RequestInfo(e);t=T.converters.RequestInit(t);this[v]={settingsObject:{baseUrl:N(),get origin(){return this.baseUrl?.origin},policyContainer:E()}};let r=null;let o=null;const c=this[v].settingsObject.baseUrl;let C=null;if(typeof e==="string"){let t;try{t=new URL(e,c)}catch(t){throw new TypeError("Failed to parse URL from "+e,{cause:t})}if(t.username||t.password){throw new TypeError("Request cannot be constructed from a URL that includes credentials: "+e)}r=makeRequest({urlList:[t]});o="cors"}else{x(e instanceof Request);r=e[S];C=e[D]}const B=this[v].settingsObject.origin;let I="client";if(r.window?.constructor?.name==="EnvironmentSettingsObject"&&h(r.window,B)){I=r.window}if(t.window!=null){throw new TypeError(`'window' option '${I}' must be null`)}if("window"in t){I="no-window"}r=makeRequest({method:r.method,headersList:r.headersList,unsafeRequest:r.unsafeRequest,client:this[v].settingsObject,window:I,priority:r.priority,origin:r.origin,referrer:r.referrer,referrerPolicy:r.referrerPolicy,mode:r.mode,credentials:r.credentials,cache:r.cache,redirect:r.redirect,integrity:r.integrity,keepalive:r.keepalive,reloadNavigation:r.reloadNavigation,historyNavigation:r.historyNavigation,urlList:[...r.urlList]});const y=Object.keys(t).length!==0;if(y){if(r.mode==="navigate"){r.mode="same-origin"}r.reloadNavigation=false;r.historyNavigation=false;r.origin="client";r.referrer="client";r.referrerPolicy="";r.url=r.urlList[r.urlList.length-1];r.urlList=[r.url]}if(t.referrer!==undefined){const e=t.referrer;if(e===""){r.referrer="no-referrer"}else{let t;try{t=new URL(e,c)}catch(t){throw new TypeError(`Referrer "${e}" is not a valid URL.`,{cause:t})}if(t.protocol==="about:"&&t.hostname==="client"||B&&!h(t,this[v].settingsObject.baseUrl)){r.referrer="client"}else{r.referrer=t}}}if(t.referrerPolicy!==undefined){r.referrerPolicy=t.referrerPolicy}let w;if(t.mode!==undefined){w=t.mode}else{w=o}if(w==="navigate"){throw T.errors.exception({header:"Request constructor",message:"invalid request mode navigate."})}if(w!=null){r.mode=w}if(t.credentials!==undefined){r.credentials=t.credentials}if(t.cache!==undefined){r.cache=t.cache}if(r.cache==="only-if-cached"&&r.mode!=="same-origin"){throw new TypeError("'only-if-cached' can be set only with 'same-origin' mode")}if(t.redirect!==undefined){r.redirect=t.redirect}if(t.integrity!=null){r.integrity=String(t.integrity)}if(t.keepalive!==undefined){r.keepalive=Boolean(t.keepalive)}if(t.method!==undefined){let e=t.method;if(!g(e)){throw new TypeError(`'${e}' is not a valid HTTP method.`)}if(p.has(e.toUpperCase())){throw new TypeError(`'${e}' HTTP method is unsupported.`)}e=d[e]??u(e);r.method=e}if(t.signal!==undefined){C=t.signal}this[S]=r;const b=new AbortController;this[D]=b.signal;this[D][v]=this[v];if(C!=null){if(!C||typeof C.aborted!=="boolean"||typeof C.addEventListener!=="function"){throw new TypeError("Failed to construct 'Request': member signal is not of type AbortSignal.")}if(C.aborted){b.abort(C.reason)}else{this[Y]=b;const e=new WeakRef(b);const abort=function(){const t=e.deref();if(t!==undefined){t.abort(this.reason)}};try{if(typeof M==="function"&&M(C)===O){_(100,C)}else if(P(C,"abort").length>=O){_(100,C)}}catch{}l.addAbortListener(C,abort);J.register(b,{signal:C,abort:abort})}}this[R]=new i(G);this[R][L]=r.headersList;this[R][F]="request";this[R][v]=this[v];if(w==="no-cors"){if(!Q.has(r.method)){throw new TypeError(`'${r.method} is unsupported in no-cors mode.`)}this[R][F]="request-no-cors"}if(y){const e=this[R][L];const A=t.headers!==undefined?t.headers:new a(e);e.clear();if(A instanceof a){for(const[t,s]of A){e.append(t,s)}e.cookies=A.cookies}else{n(this[R],A)}}const k=e instanceof Request?e[S].body:null;if((t.body!=null||k!=null)&&(r.method==="GET"||r.method==="HEAD")){throw new TypeError("Request with GET/HEAD method cannot have body.")}let U=null;if(t.body!=null){const[e,A]=s(t.body,r.keepalive);U=e;if(A&&!this[R][L].contains("content-type")){this[R].append("content-type",A)}}const V=U??k;if(V!=null&&V.source==null){if(U!=null&&t.duplex==null){throw new TypeError("RequestInit: duplex option is required when sending a body.")}if(r.mode!=="same-origin"&&r.mode!=="cors"){throw new TypeError('If request is made from ReadableStream, mode should be "same-origin" or "cors"')}r.useCORSPreflightFlag=true}let W=V;if(U==null&&k!=null){if(l.isDisturbed(k.stream)||k.stream.locked){throw new TypeError("Cannot construct a Request with a Request object that has already been used.")}if(!H){H=A(3774).TransformStream}const e=new H;k.stream.pipeThrough(e);W={source:k.source,length:k.length,stream:e.readable}}this[S].body=W}get method(){T.brandCheck(this,Request);return this[S].method}get url(){T.brandCheck(this,Request);return U(this[S].url)}get headers(){T.brandCheck(this,Request);return this[R]}get destination(){T.brandCheck(this,Request);return this[S].destination}get referrer(){T.brandCheck(this,Request);if(this[S].referrer==="no-referrer"){return""}if(this[S].referrer==="client"){return"about:client"}return this[S].referrer.toString()}get referrerPolicy(){T.brandCheck(this,Request);return this[S].referrerPolicy}get mode(){T.brandCheck(this,Request);return this[S].mode}get credentials(){return this[S].credentials}get cache(){T.brandCheck(this,Request);return this[S].cache}get redirect(){T.brandCheck(this,Request);return this[S].redirect}get integrity(){T.brandCheck(this,Request);return this[S].integrity}get keepalive(){T.brandCheck(this,Request);return this[S].keepalive}get isReloadNavigation(){T.brandCheck(this,Request);return this[S].reloadNavigation}get isHistoryNavigation(){T.brandCheck(this,Request);return this[S].historyNavigation}get signal(){T.brandCheck(this,Request);return this[D]}get body(){T.brandCheck(this,Request);return this[S].body?this[S].body.stream:null}get bodyUsed(){T.brandCheck(this,Request);return!!this[S].body&&l.isDisturbed(this[S].body.stream)}get duplex(){T.brandCheck(this,Request);return"half"}clone(){T.brandCheck(this,Request);if(this.bodyUsed||this.body?.locked){throw new TypeError("unusable")}const e=cloneRequest(this[S]);const t=new Request(G);t[S]=e;t[v]=this[v];t[R]=new i(G);t[R][L]=e.headersList;t[R][F]=this[R][F];t[R][v]=this[R][v];const A=new AbortController;if(this.signal.aborted){A.abort(this.signal.reason)}else{l.addAbortListener(this.signal,(()=>{A.abort(this.signal.reason)}))}t[D]=A.signal;return t}}r(Request);function makeRequest(e){const t={method:"GET",localURLsOnly:false,unsafeRequest:false,body:null,client:null,reservedClient:null,replacesClientId:"",window:"client",keepalive:false,serviceWorkers:"all",initiator:"",destination:"",priority:null,origin:"client",policyContainer:"client",referrer:"client",referrerPolicy:"",mode:"no-cors",useCORSPreflightFlag:false,credentials:"same-origin",useCredentials:false,cache:"default",redirect:"follow",integrity:"",cryptoGraphicsNonceMetadata:"",parserMetadata:"",reloadNavigation:false,historyNavigation:false,userActivation:false,taintedOrigin:false,redirectCount:0,responseTainting:"basic",preventNoCacheCacheControlHeaderModification:false,done:false,timingAllowFailed:false,...e,headersList:e.headersList?new a(e.headersList):new a};t.url=t.urlList[0];return t}function cloneRequest(e){const t=makeRequest({...e,body:null});if(e.body!=null){t.body=o(e.body)}return t}Object.defineProperties(Request.prototype,{method:k,url:k,headers:k,redirect:k,clone:k,signal:k,duplex:k,destination:k,body:k,bodyUsed:k,isHistoryNavigation:k,isReloadNavigation:k,keepalive:k,integrity:k,cache:k,credentials:k,attribute:k,referrerPolicy:k,referrer:k,mode:k,[Symbol.toStringTag]:{value:"Request",configurable:true}});T.converters.Request=T.interfaceConverter(Request);T.converters.RequestInfo=function(e){if(typeof e==="string"){return T.converters.USVString(e)}if(e instanceof Request){return T.converters.Request(e)}return T.converters.USVString(e)};T.converters.AbortSignal=T.interfaceConverter(AbortSignal);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:C},{key:"mode",converter:T.converters.DOMString,allowedValues:I},{key:"credentials",converter:T.converters.DOMString,allowedValues:y},{key:"cache",converter:T.converters.DOMString,allowedValues:w},{key:"redirect",converter:T.converters.DOMString,allowedValues:B},{key:"integrity",converter:T.converters.DOMString},{key:"keepalive",converter:T.converters.boolean},{key:"signal",converter:T.nullableConverter((e=>T.converters.AbortSignal(e,{strict:false})))},{key:"window",converter:T.converters.any},{key:"duplex",converter:T.converters.DOMString,allowedValues:b}]);e.exports={Request:Request,makeRequest:makeRequest}},8676:(e,t,A)=>{"use strict";const{Headers:s,HeadersList:r,fill:o}=A(6349);const{extractBody:i,cloneBody:n,mixinBody:a}=A(8923);const c=A(3440);const{kEnumerableProperty:l}=c;const{isValidReasonPhrase:g,isCancelled:h,isAborted:u,isBlobLike:E,serializeJavascriptValueToJSONString:d,isErrorLike:p,isomorphicEncode:Q}=A(5523);const{redirectStatusSet:C,nullBodyStatus:B,DOMException:I}=A(7326);const{kState:y,kHeaders:w,kGuard:b,kRealm:k}=A(9710);const{webidl:R}=A(4222);const{FormData:D}=A(3073);const{getGlobalOrigin:S}=A(5628);const{URLSerializer:F}=A(4322);const{kHeadersList:v,kConstruct:T}=A(6443);const N=A(2613);const{types:U}=A(9023);const L=globalThis.ReadableStream||A(3774).ReadableStream;const G=new TextEncoder("utf-8");class Response{static error(){const e={settingsObject:{}};const t=new Response;t[y]=makeNetworkError();t[k]=e;t[w][v]=t[y].headersList;t[w][b]="immutable";t[w][k]=e;return t}static json(e,t={}){R.argumentLengthCheck(arguments,1,{header:"Response.json"});if(t!==null){t=R.converters.ResponseInit(t)}const A=G.encode(d(e));const s=i(A);const r={settingsObject:{}};const o=new Response;o[k]=r;o[w][b]="response";o[w][k]=r;initializeResponse(o,t,{body:s[0],type:"application/json"});return o}static redirect(e,t=302){const A={settingsObject:{}};R.argumentLengthCheck(arguments,1,{header:"Response.redirect"});e=R.converters.USVString(e);t=R.converters["unsigned short"](t);let s;try{s=new URL(e,S())}catch(t){throw Object.assign(new TypeError("Failed to parse URL from "+e),{cause:t})}if(!C.has(t)){throw new RangeError("Invalid status code "+t)}const r=new Response;r[k]=A;r[w][b]="immutable";r[w][k]=A;r[y].status=t;const o=Q(F(s));r[y].headersList.append("location",o);return r}constructor(e=null,t={}){if(e!==null){e=R.converters.BodyInit(e)}t=R.converters.ResponseInit(t);this[k]={settingsObject:{}};this[y]=makeResponse({});this[w]=new s(T);this[w][b]="response";this[w][v]=this[y].headersList;this[w][k]=this[k];let A=null;if(e!=null){const[t,s]=i(e);A={body:t,type:s}}initializeResponse(this,t,A)}get type(){R.brandCheck(this,Response);return this[y].type}get url(){R.brandCheck(this,Response);const e=this[y].urlList;const t=e[e.length-1]??null;if(t===null){return""}return F(t,true)}get redirected(){R.brandCheck(this,Response);return this[y].urlList.length>1}get status(){R.brandCheck(this,Response);return this[y].status}get ok(){R.brandCheck(this,Response);return this[y].status>=200&&this[y].status<=299}get statusText(){R.brandCheck(this,Response);return this[y].statusText}get headers(){R.brandCheck(this,Response);return this[w]}get body(){R.brandCheck(this,Response);return this[y].body?this[y].body.stream:null}get bodyUsed(){R.brandCheck(this,Response);return!!this[y].body&&c.isDisturbed(this[y].body.stream)}clone(){R.brandCheck(this,Response);if(this.bodyUsed||this.body&&this.body.locked){throw R.errors.exception({header:"Response.clone",message:"Body has already been consumed."})}const e=cloneResponse(this[y]);const t=new Response;t[y]=e;t[k]=this[k];t[w][v]=e.headersList;t[w][b]=this[w][b];t[w][k]=this[w][k];return t}}a(Response);Object.defineProperties(Response.prototype,{type:l,url:l,status:l,ok:l,redirected:l,statusText:l,headers:l,clone:l,body:l,bodyUsed:l,[Symbol.toStringTag]:{value:"Response",configurable:true}});Object.defineProperties(Response,{json:l,redirect:l,error:l});function cloneResponse(e){if(e.internalResponse){return filterResponse(cloneResponse(e.internalResponse),e.type)}const t=makeResponse({...e,body:null});if(e.body!=null){t.body=n(e.body)}return t}function makeResponse(e){return{aborted:false,rangeRequested:false,timingAllowPassed:false,requestIncludesCredentials:false,type:"default",status:200,timingInfo:null,cacheState:"",statusText:"",...e,headersList:e.headersList?new r(e.headersList):new r,urlList:e.urlList?[...e.urlList]:[]}}function makeNetworkError(e){const t=p(e);return makeResponse({type:"error",status:0,error:t?e:new Error(e?String(e):e),aborted:e&&e.name==="AbortError"})}function makeFilteredResponse(e,t){t={internalResponse:e,...t};return new Proxy(e,{get(e,A){return A in t?t[A]:e[A]},set(e,A,s){N(!(A in t));e[A]=s;return true}})}function filterResponse(e,t){if(t==="basic"){return makeFilteredResponse(e,{type:"basic",headersList:e.headersList})}else if(t==="cors"){return makeFilteredResponse(e,{type:"cors",headersList:e.headersList})}else if(t==="opaque"){return makeFilteredResponse(e,{type:"opaque",urlList:Object.freeze([]),status:0,statusText:"",body:null})}else if(t==="opaqueredirect"){return makeFilteredResponse(e,{type:"opaqueredirect",status:0,statusText:"",headersList:[],body:null})}else{N(false)}}function makeAppropriateNetworkError(e,t=null){N(h(e));return u(e)?makeNetworkError(Object.assign(new I("The operation was aborted.","AbortError"),{cause:t})):makeNetworkError(Object.assign(new I("Request was cancelled."),{cause:t}))}function initializeResponse(e,t,A){if(t.status!==null&&(t.status<200||t.status>599)){throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.')}if("statusText"in t&&t.statusText!=null){if(!g(String(t.statusText))){throw new TypeError("Invalid statusText")}}if("status"in t&&t.status!=null){e[y].status=t.status}if("statusText"in t&&t.statusText!=null){e[y].statusText=t.statusText}if("headers"in t&&t.headers!=null){o(e[w],t.headers)}if(A){if(B.includes(e.status)){throw R.errors.exception({header:"Response constructor",message:"Invalid response status code "+e.status})}e[y].body=A.body;if(A.type!=null&&!e[y].headersList.contains("Content-Type")){e[y].headersList.append("content-type",A.type)}}}R.converters.ReadableStream=R.interfaceConverter(L);R.converters.FormData=R.interfaceConverter(D);R.converters.URLSearchParams=R.interfaceConverter(URLSearchParams);R.converters.XMLHttpRequestBodyInit=function(e){if(typeof e==="string"){return R.converters.USVString(e)}if(E(e)){return R.converters.Blob(e,{strict:false})}if(U.isArrayBuffer(e)||U.isTypedArray(e)||U.isDataView(e)){return R.converters.BufferSource(e)}if(c.isFormDataLike(e)){return R.converters.FormData(e,{strict:false})}if(e instanceof URLSearchParams){return R.converters.URLSearchParams(e)}return R.converters.DOMString(e)};R.converters.BodyInit=function(e){if(e instanceof L){return R.converters.ReadableStream(e)}if(e?.[Symbol.asyncIterator]){return e}return R.converters.XMLHttpRequestBodyInit(e)};R.converters.ResponseInit=R.dictionaryConverter([{key:"status",converter:R.converters["unsigned short"],defaultValue:200},{key:"statusText",converter:R.converters.ByteString,defaultValue:""},{key:"headers",converter:R.converters.HeadersInit}]);e.exports={makeNetworkError:makeNetworkError,makeResponse:makeResponse,makeAppropriateNetworkError:makeAppropriateNetworkError,filterResponse:filterResponse,Response:Response,cloneResponse:cloneResponse}},9710:e=>{"use strict";e.exports={kUrl:Symbol("url"),kHeaders:Symbol("headers"),kSignal:Symbol("signal"),kState:Symbol("state"),kGuard:Symbol("guard"),kRealm:Symbol("realm")}},5523:(e,t,A)=>{"use strict";const{redirectStatusSet:s,referrerPolicySet:r,badPortsSet:o}=A(7326);const{getGlobalOrigin:i}=A(5628);const{performance:n}=A(2987);const{isBlobLike:a,toUSVString:c,ReadableStreamFrom:l}=A(3440);const g=A(2613);const{isUint8Array:h}=A(8253);let u=[];let E;try{E=A(6982);const e=["sha256","sha384","sha512"];u=E.getHashes().filter((t=>e.includes(t)))}catch{}function responseURL(e){const t=e.urlList;const A=t.length;return A===0?null:t[A-1].toString()}function responseLocationURL(e,t){if(!s.has(e.status)){return null}let A=e.headersList.get("location");if(A!==null&&isValidHeaderValue(A)){A=new URL(A,responseURL(e))}if(A&&!A.hash){A.hash=t}return A}function requestCurrentURL(e){return e.urlList[e.urlList.length-1]}function requestBadPort(e){const t=requestCurrentURL(e);if(urlIsHttpHttpsScheme(t)&&o.has(t.port)){return"blocked"}return"allowed"}function isErrorLike(e){return e instanceof Error||(e?.constructor?.name==="Error"||e?.constructor?.name==="DOMException")}function isValidReasonPhrase(e){for(let t=0;t=32&&A<=126||A>=128&&A<=255)){return false}}return true}function isTokenCharCode(e){switch(e){case 34:case 40:case 41:case 44:case 47:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 91:case 92:case 93:case 123:case 125:return false;default:return e>=33&&e<=126}}function isValidHTTPToken(e){if(e.length===0){return false}for(let t=0;t0){for(let e=s.length;e!==0;e--){const t=s[e-1].trim();if(r.has(t)){o=t;break}}}if(o!==""){e.referrerPolicy=o}}function crossOriginResourcePolicyCheck(){return"allowed"}function corsCheck(){return"success"}function TAOCheck(){return"success"}function appendFetchMetadata(e){let t=null;t=e.mode;e.headersList.set("sec-fetch-mode",t)}function appendRequestOriginHeader(e){let t=e.origin;if(e.responseTainting==="cors"||e.mode==="websocket"){if(t){e.headersList.append("origin",t)}}else if(e.method!=="GET"&&e.method!=="HEAD"){switch(e.referrerPolicy){case"no-referrer":t=null;break;case"no-referrer-when-downgrade":case"strict-origin":case"strict-origin-when-cross-origin":if(e.origin&&urlHasHttpsScheme(e.origin)&&!urlHasHttpsScheme(requestCurrentURL(e))){t=null}break;case"same-origin":if(!sameOrigin(e,requestCurrentURL(e))){t=null}break;default:}if(t){e.headersList.append("origin",t)}}}function coarsenedSharedCurrentTime(e){return n.now()}function createOpaqueTimingInfo(e){return{startTime:e.startTime??0,redirectStartTime:0,redirectEndTime:0,postRedirectStartTime:e.startTime??0,finalServiceWorkerStartTime:0,finalNetworkResponseStartTime:0,finalNetworkRequestStartTime:0,endTime:0,encodedBodySize:0,decodedBodySize:0,finalConnectionTimingInfo:null}}function makePolicyContainer(){return{referrerPolicy:"strict-origin-when-cross-origin"}}function clonePolicyContainer(e){return{referrerPolicy:e.referrerPolicy}}function determineRequestsReferrer(e){const t=e.referrerPolicy;g(t);let A=null;if(e.referrer==="client"){const e=i();if(!e||e.origin==="null"){return"no-referrer"}A=new URL(e)}else if(e.referrer instanceof URL){A=e.referrer}let s=stripURLForReferrer(A);const r=stripURLForReferrer(A,true);if(s.toString().length>4096){s=r}const o=sameOrigin(e,s);const n=isURLPotentiallyTrustworthy(s)&&!isURLPotentiallyTrustworthy(e.url);switch(t){case"origin":return r!=null?r:stripURLForReferrer(A,true);case"unsafe-url":return s;case"same-origin":return o?r:"no-referrer";case"origin-when-cross-origin":return o?s:r;case"strict-origin-when-cross-origin":{const t=requestCurrentURL(e);if(sameOrigin(s,t)){return s}if(isURLPotentiallyTrustworthy(s)&&!isURLPotentiallyTrustworthy(t)){return"no-referrer"}return r}case"strict-origin":case"no-referrer-when-downgrade":default:return n?"no-referrer":r}}function stripURLForReferrer(e,t){g(e instanceof URL);if(e.protocol==="file:"||e.protocol==="about:"||e.protocol==="blank:"){return"no-referrer"}e.username="";e.password="";e.hash="";if(t){e.pathname="";e.search=""}return e}function isURLPotentiallyTrustworthy(e){if(!(e instanceof URL)){return false}if(e.href==="about:blank"||e.href==="about:srcdoc"){return true}if(e.protocol==="data:")return true;if(e.protocol==="file:")return true;return isOriginPotentiallyTrustworthy(e.origin);function isOriginPotentiallyTrustworthy(e){if(e==null||e==="null")return false;const t=new URL(e);if(t.protocol==="https:"||t.protocol==="wss:"){return true}if(/^127(?:\.[0-9]+){0,2}\.[0-9]+$|^\[(?:0*:)*?:?0*1\]$/.test(t.hostname)||(t.hostname==="localhost"||t.hostname.includes("localhost."))||t.hostname.endsWith(".localhost")){return true}return false}}function bytesMatch(e,t){if(E===undefined){return true}const A=parseMetadata(t);if(A==="no metadata"){return true}if(A.length===0){return true}const s=getStrongestMetadata(A);const r=filterMetadataListByAlgorithm(A,s);for(const t of r){const A=t.algo;const s=t.hash;let r=E.createHash(A).update(e).digest("base64");if(r[r.length-1]==="="){if(r[r.length-2]==="="){r=r.slice(0,-2)}else{r=r.slice(0,-1)}}if(compareBase64Mixed(r,s)){return true}}return false}const d=/(?sha256|sha384|sha512)-((?[A-Za-z0-9+/]+|[A-Za-z0-9_-]+)={0,2}(?:\s|$)( +[!-~]*)?)?/i;function parseMetadata(e){const t=[];let A=true;for(const s of e.split(" ")){A=false;const e=d.exec(s);if(e===null||e.groups===undefined||e.groups.algo===undefined){continue}const r=e.groups.algo.toLowerCase();if(u.includes(r)){t.push(e.groups)}}if(A===true){return"no metadata"}return t}function getStrongestMetadata(e){let t=e[0].algo;if(t[3]==="5"){return t}for(let A=1;A{e=A;t=s}));return{promise:A,resolve:e,reject:t}}function isAborted(e){return e.controller.state==="aborted"}function isCancelled(e){return e.controller.state==="aborted"||e.controller.state==="terminated"}const p={delete:"DELETE",DELETE:"DELETE",get:"GET",GET:"GET",head:"HEAD",HEAD:"HEAD",options:"OPTIONS",OPTIONS:"OPTIONS",post:"POST",POST:"POST",put:"PUT",PUT:"PUT"};Object.setPrototypeOf(p,null);function normalizeMethod(e){return p[e.toLowerCase()]??e}function serializeJavascriptValueToJSONString(e){const t=JSON.stringify(e);if(t===undefined){throw new TypeError("Value is not JSON serializable")}g(typeof t==="string");return t}const Q=Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));function makeIterator(e,t,A){const s={index:0,kind:A,target:e};const r={next(){if(Object.getPrototypeOf(this)!==r){throw new TypeError(`'next' called on an object that does not implement interface ${t} Iterator.`)}const{index:e,kind:A,target:o}=s;const i=o();const n=i.length;if(e>=n){return{value:undefined,done:true}}const a=i[e];s.index=e+1;return iteratorResult(a,A)},[Symbol.toStringTag]:`${t} Iterator`};Object.setPrototypeOf(r,Q);return Object.setPrototypeOf({},r)}function iteratorResult(e,t){let A;switch(t){case"key":{A=e[0];break}case"value":{A=e[1];break}case"key+value":{A=e;break}}return{value:A,done:false}}async function fullyReadBody(e,t,A){const s=t;const r=A;let o;try{o=e.stream.getReader()}catch(e){r(e);return}try{const e=await readAllBytes(o);s(e)}catch(e){r(e)}}let C=globalThis.ReadableStream;function isReadableStreamLike(e){if(!C){C=A(3774).ReadableStream}return e instanceof C||e[Symbol.toStringTag]==="ReadableStream"&&typeof e.tee==="function"}const B=65535;function isomorphicDecode(e){if(e.lengthe+String.fromCharCode(t)),"")}function readableStreamClose(e){try{e.close()}catch(e){if(!e.message.includes("Controller is already closed")){throw e}}}function isomorphicEncode(e){for(let t=0;tObject.prototype.hasOwnProperty.call(e,t));e.exports={isAborted:isAborted,isCancelled:isCancelled,createDeferredPromise:createDeferredPromise,ReadableStreamFrom:l,toUSVString:c,tryUpgradeRequestToAPotentiallyTrustworthyURL:tryUpgradeRequestToAPotentiallyTrustworthyURL,coarsenedSharedCurrentTime:coarsenedSharedCurrentTime,determineRequestsReferrer:determineRequestsReferrer,makePolicyContainer:makePolicyContainer,clonePolicyContainer:clonePolicyContainer,appendFetchMetadata:appendFetchMetadata,appendRequestOriginHeader:appendRequestOriginHeader,TAOCheck:TAOCheck,corsCheck:corsCheck,crossOriginResourcePolicyCheck:crossOriginResourcePolicyCheck,createOpaqueTimingInfo:createOpaqueTimingInfo,setRequestReferrerPolicyOnRedirect:setRequestReferrerPolicyOnRedirect,isValidHTTPToken:isValidHTTPToken,requestBadPort:requestBadPort,requestCurrentURL:requestCurrentURL,responseURL:responseURL,responseLocationURL:responseLocationURL,isBlobLike:a,isURLPotentiallyTrustworthy:isURLPotentiallyTrustworthy,isValidReasonPhrase:isValidReasonPhrase,sameOrigin:sameOrigin,normalizeMethod:normalizeMethod,serializeJavascriptValueToJSONString:serializeJavascriptValueToJSONString,makeIterator:makeIterator,isValidHeaderName:isValidHeaderName,isValidHeaderValue:isValidHeaderValue,hasOwn:I,isErrorLike:isErrorLike,fullyReadBody:fullyReadBody,bytesMatch:bytesMatch,isReadableStreamLike:isReadableStreamLike,readableStreamClose:readableStreamClose,isomorphicEncode:isomorphicEncode,isomorphicDecode:isomorphicDecode,urlIsLocal:urlIsLocal,urlHasHttpsScheme:urlHasHttpsScheme,urlIsHttpHttpsScheme:urlIsHttpHttpsScheme,readAllBytes:readAllBytes,normalizeMethodRecord:p,parseMetadata:parseMetadata}},4222:(e,t,A)=>{"use strict";const{types:s}=A(9023);const{hasOwn:r,toUSVString:o}=A(5523);const i={};i.converters={};i.util={};i.errors={};i.errors.exception=function(e){return new TypeError(`${e.header}: ${e.message}`)};i.errors.conversionFailed=function(e){const t=e.types.length===1?"":" one of";const A=`${e.argument} could not be converted to`+`${t}: ${e.types.join(", ")}.`;return i.errors.exception({header:e.prefix,message:A})};i.errors.invalidArgument=function(e){return i.errors.exception({header:e.prefix,message:`"${e.value}" is an invalid ${e.type}.`})};i.brandCheck=function(e,t,A=undefined){if(A?.strict!==false&&!(e instanceof t)){throw new TypeError("Illegal invocation")}else{return e?.[Symbol.toStringTag]===t.prototype[Symbol.toStringTag]}};i.argumentLengthCheck=function({length:e},t,A){if(er){throw i.errors.exception({header:"Integer conversion",message:`Value must be between ${o}-${r}, got ${n}.`})}return n}if(!Number.isNaN(n)&&s.clamp===true){n=Math.min(Math.max(n,o),r);if(Math.floor(n)%2===0){n=Math.floor(n)}else{n=Math.ceil(n)}return n}if(Number.isNaN(n)||n===0&&Object.is(0,n)||n===Number.POSITIVE_INFINITY||n===Number.NEGATIVE_INFINITY){return 0}n=i.util.IntegerPart(n);n=n%Math.pow(2,t);if(A==="signed"&&n>=Math.pow(2,t)-1){return n-Math.pow(2,t)}return n};i.util.IntegerPart=function(e){const t=Math.floor(Math.abs(e));if(e<0){return-1*t}return t};i.sequenceConverter=function(e){return t=>{if(i.util.Type(t)!=="Object"){throw i.errors.exception({header:"Sequence",message:`Value of type ${i.util.Type(t)} is not an Object.`})}const A=t?.[Symbol.iterator]?.();const s=[];if(A===undefined||typeof A.next!=="function"){throw i.errors.exception({header:"Sequence",message:"Object is not an iterator."})}while(true){const{done:t,value:r}=A.next();if(t){break}s.push(e(r))}return s}};i.recordConverter=function(e,t){return A=>{if(i.util.Type(A)!=="Object"){throw i.errors.exception({header:"Record",message:`Value of type ${i.util.Type(A)} is not an Object.`})}const r={};if(!s.isProxy(A)){const s=Object.keys(A);for(const o of s){const s=e(o);const i=t(A[o]);r[s]=i}return r}const o=Reflect.ownKeys(A);for(const s of o){const o=Reflect.getOwnPropertyDescriptor(A,s);if(o?.enumerable){const o=e(s);const i=t(A[s]);r[o]=i}}return r}};i.interfaceConverter=function(e){return(t,A={})=>{if(A.strict!==false&&!(t instanceof e)){throw i.errors.exception({header:e.name,message:`Expected ${t} to be an instance of ${e.name}.`})}return t}};i.dictionaryConverter=function(e){return t=>{const A=i.util.Type(t);const s={};if(A==="Null"||A==="Undefined"){return s}else if(A!=="Object"){throw i.errors.exception({header:"Dictionary",message:`Expected ${t} to be one of: Null, Undefined, Object.`})}for(const A of e){const{key:e,defaultValue:o,required:n,converter:a}=A;if(n===true){if(!r(t,e)){throw i.errors.exception({header:"Dictionary",message:`Missing required key "${e}".`})}}let c=t[e];const l=r(A,"defaultValue");if(l&&c!==null){c=c??o}if(n||l||c!==undefined){c=a(c);if(A.allowedValues&&!A.allowedValues.includes(c)){throw i.errors.exception({header:"Dictionary",message:`${c} is not an accepted type. Expected one of ${A.allowedValues.join(", ")}.`})}s[e]=c}}return s}};i.nullableConverter=function(e){return t=>{if(t===null){return t}return e(t)}};i.converters.DOMString=function(e,t={}){if(e===null&&t.legacyNullToEmptyString){return""}if(typeof e==="symbol"){throw new TypeError("Could not convert argument of type symbol to string.")}return String(e)};i.converters.ByteString=function(e){const t=i.converters.DOMString(e);for(let e=0;e255){throw new TypeError("Cannot convert argument to a ByteString because the character at "+`index ${e} has a value of ${t.charCodeAt(e)} which is greater than 255.`)}}return t};i.converters.USVString=o;i.converters.boolean=function(e){const t=Boolean(e);return t};i.converters.any=function(e){return e};i.converters["long long"]=function(e){const t=i.util.ConvertToInt(e,64,"signed");return t};i.converters["unsigned long long"]=function(e){const t=i.util.ConvertToInt(e,64,"unsigned");return t};i.converters["unsigned long"]=function(e){const t=i.util.ConvertToInt(e,32,"unsigned");return t};i.converters["unsigned short"]=function(e,t){const A=i.util.ConvertToInt(e,16,"unsigned",t);return A};i.converters.ArrayBuffer=function(e,t={}){if(i.util.Type(e)!=="Object"||!s.isAnyArrayBuffer(e)){throw i.errors.conversionFailed({prefix:`${e}`,argument:`${e}`,types:["ArrayBuffer"]})}if(t.allowShared===false&&s.isSharedArrayBuffer(e)){throw i.errors.exception({header:"ArrayBuffer",message:"SharedArrayBuffer is not allowed."})}return e};i.converters.TypedArray=function(e,t,A={}){if(i.util.Type(e)!=="Object"||!s.isTypedArray(e)||e.constructor.name!==t.name){throw i.errors.conversionFailed({prefix:`${t.name}`,argument:`${e}`,types:[t.name]})}if(A.allowShared===false&&s.isSharedArrayBuffer(e.buffer)){throw i.errors.exception({header:"ArrayBuffer",message:"SharedArrayBuffer is not allowed."})}return e};i.converters.DataView=function(e,t={}){if(i.util.Type(e)!=="Object"||!s.isDataView(e)){throw i.errors.exception({header:"DataView",message:"Object is not a DataView."})}if(t.allowShared===false&&s.isSharedArrayBuffer(e.buffer)){throw i.errors.exception({header:"ArrayBuffer",message:"SharedArrayBuffer is not allowed."})}return e};i.converters.BufferSource=function(e,t={}){if(s.isAnyArrayBuffer(e)){return i.converters.ArrayBuffer(e,t)}if(s.isTypedArray(e)){return i.converters.TypedArray(e,e.constructor)}if(s.isDataView(e)){return i.converters.DataView(e,t)}throw new TypeError(`Could not convert ${e} to a BufferSource.`)};i.converters["sequence"]=i.sequenceConverter(i.converters.ByteString);i.converters["sequence>"]=i.sequenceConverter(i.converters["sequence"]);i.converters["record"]=i.recordConverter(i.converters.ByteString,i.converters.ByteString);e.exports={webidl:i}},396:e=>{"use strict";function getEncoding(e){if(!e){return"failure"}switch(e.trim().toLowerCase()){case"unicode-1-1-utf-8":case"unicode11utf8":case"unicode20utf8":case"utf-8":case"utf8":case"x-unicode20utf8":return"UTF-8";case"866":case"cp866":case"csibm866":case"ibm866":return"IBM866";case"csisolatin2":case"iso-8859-2":case"iso-ir-101":case"iso8859-2":case"iso88592":case"iso_8859-2":case"iso_8859-2:1987":case"l2":case"latin2":return"ISO-8859-2";case"csisolatin3":case"iso-8859-3":case"iso-ir-109":case"iso8859-3":case"iso88593":case"iso_8859-3":case"iso_8859-3:1988":case"l3":case"latin3":return"ISO-8859-3";case"csisolatin4":case"iso-8859-4":case"iso-ir-110":case"iso8859-4":case"iso88594":case"iso_8859-4":case"iso_8859-4:1988":case"l4":case"latin4":return"ISO-8859-4";case"csisolatincyrillic":case"cyrillic":case"iso-8859-5":case"iso-ir-144":case"iso8859-5":case"iso88595":case"iso_8859-5":case"iso_8859-5:1988":return"ISO-8859-5";case"arabic":case"asmo-708":case"csiso88596e":case"csiso88596i":case"csisolatinarabic":case"ecma-114":case"iso-8859-6":case"iso-8859-6-e":case"iso-8859-6-i":case"iso-ir-127":case"iso8859-6":case"iso88596":case"iso_8859-6":case"iso_8859-6:1987":return"ISO-8859-6";case"csisolatingreek":case"ecma-118":case"elot_928":case"greek":case"greek8":case"iso-8859-7":case"iso-ir-126":case"iso8859-7":case"iso88597":case"iso_8859-7":case"iso_8859-7:1987":case"sun_eu_greek":return"ISO-8859-7";case"csiso88598e":case"csisolatinhebrew":case"hebrew":case"iso-8859-8":case"iso-8859-8-e":case"iso-ir-138":case"iso8859-8":case"iso88598":case"iso_8859-8":case"iso_8859-8:1988":case"visual":return"ISO-8859-8";case"csiso88598i":case"iso-8859-8-i":case"logical":return"ISO-8859-8-I";case"csisolatin6":case"iso-8859-10":case"iso-ir-157":case"iso8859-10":case"iso885910":case"l6":case"latin6":return"ISO-8859-10";case"iso-8859-13":case"iso8859-13":case"iso885913":return"ISO-8859-13";case"iso-8859-14":case"iso8859-14":case"iso885914":return"ISO-8859-14";case"csisolatin9":case"iso-8859-15":case"iso8859-15":case"iso885915":case"iso_8859-15":case"l9":return"ISO-8859-15";case"iso-8859-16":return"ISO-8859-16";case"cskoi8r":case"koi":case"koi8":case"koi8-r":case"koi8_r":return"KOI8-R";case"koi8-ru":case"koi8-u":return"KOI8-U";case"csmacintosh":case"mac":case"macintosh":case"x-mac-roman":return"macintosh";case"iso-8859-11":case"iso8859-11":case"iso885911":case"tis-620":case"windows-874":return"windows-874";case"cp1250":case"windows-1250":case"x-cp1250":return"windows-1250";case"cp1251":case"windows-1251":case"x-cp1251":return"windows-1251";case"ansi_x3.4-1968":case"ascii":case"cp1252":case"cp819":case"csisolatin1":case"ibm819":case"iso-8859-1":case"iso-ir-100":case"iso8859-1":case"iso88591":case"iso_8859-1":case"iso_8859-1:1987":case"l1":case"latin1":case"us-ascii":case"windows-1252":case"x-cp1252":return"windows-1252";case"cp1253":case"windows-1253":case"x-cp1253":return"windows-1253";case"cp1254":case"csisolatin5":case"iso-8859-9":case"iso-ir-148":case"iso8859-9":case"iso88599":case"iso_8859-9":case"iso_8859-9:1989":case"l5":case"latin5":case"windows-1254":case"x-cp1254":return"windows-1254";case"cp1255":case"windows-1255":case"x-cp1255":return"windows-1255";case"cp1256":case"windows-1256":case"x-cp1256":return"windows-1256";case"cp1257":case"windows-1257":case"x-cp1257":return"windows-1257";case"cp1258":case"windows-1258":case"x-cp1258":return"windows-1258";case"x-mac-cyrillic":case"x-mac-ukrainian":return"x-mac-cyrillic";case"chinese":case"csgb2312":case"csiso58gb231280":case"gb2312":case"gb_2312":case"gb_2312-80":case"gbk":case"iso-ir-58":case"x-gbk":return"GBK";case"gb18030":return"gb18030";case"big5":case"big5-hkscs":case"cn-big5":case"csbig5":case"x-x-big5":return"Big5";case"cseucpkdfmtjapanese":case"euc-jp":case"x-euc-jp":return"EUC-JP";case"csiso2022jp":case"iso-2022-jp":return"ISO-2022-JP";case"csshiftjis":case"ms932":case"ms_kanji":case"shift-jis":case"shift_jis":case"sjis":case"windows-31j":case"x-sjis":return"Shift_JIS";case"cseuckr":case"csksc56011987":case"euc-kr":case"iso-ir-149":case"korean":case"ks_c_5601-1987":case"ks_c_5601-1989":case"ksc5601":case"ksc_5601":case"windows-949":return"EUC-KR";case"csiso2022kr":case"hz-gb-2312":case"iso-2022-cn":case"iso-2022-cn-ext":case"iso-2022-kr":case"replacement":return"replacement";case"unicodefffe":case"utf-16be":return"UTF-16BE";case"csunicode":case"iso-10646-ucs-2":case"ucs-2":case"unicode":case"unicodefeff":case"utf-16":case"utf-16le":return"UTF-16LE";case"x-user-defined":return"x-user-defined";default:return"failure"}}e.exports={getEncoding:getEncoding}},2160:(e,t,A)=>{"use strict";const{staticPropertyDescriptors:s,readOperation:r,fireAProgressEvent:o}=A(165);const{kState:i,kError:n,kResult:a,kEvents:c,kAborted:l}=A(6812);const{webidl:g}=A(4222);const{kEnumerableProperty:h}=A(3440);class FileReader extends EventTarget{constructor(){super();this[i]="empty";this[a]=null;this[n]=null;this[c]={loadend:null,error:null,abort:null,load:null,progress:null,loadstart:null}}readAsArrayBuffer(e){g.brandCheck(this,FileReader);g.argumentLengthCheck(arguments,1,{header:"FileReader.readAsArrayBuffer"});e=g.converters.Blob(e,{strict:false});r(this,e,"ArrayBuffer")}readAsBinaryString(e){g.brandCheck(this,FileReader);g.argumentLengthCheck(arguments,1,{header:"FileReader.readAsBinaryString"});e=g.converters.Blob(e,{strict:false});r(this,e,"BinaryString")}readAsText(e,t=undefined){g.brandCheck(this,FileReader);g.argumentLengthCheck(arguments,1,{header:"FileReader.readAsText"});e=g.converters.Blob(e,{strict:false});if(t!==undefined){t=g.converters.DOMString(t)}r(this,e,"Text",t)}readAsDataURL(e){g.brandCheck(this,FileReader);g.argumentLengthCheck(arguments,1,{header:"FileReader.readAsDataURL"});e=g.converters.Blob(e,{strict:false});r(this,e,"DataURL")}abort(){if(this[i]==="empty"||this[i]==="done"){this[a]=null;return}if(this[i]==="loading"){this[i]="done";this[a]=null}this[l]=true;o("abort",this);if(this[i]!=="loading"){o("loadend",this)}}get readyState(){g.brandCheck(this,FileReader);switch(this[i]){case"empty":return this.EMPTY;case"loading":return this.LOADING;case"done":return this.DONE}}get result(){g.brandCheck(this,FileReader);return this[a]}get error(){g.brandCheck(this,FileReader);return this[n]}get onloadend(){g.brandCheck(this,FileReader);return this[c].loadend}set onloadend(e){g.brandCheck(this,FileReader);if(this[c].loadend){this.removeEventListener("loadend",this[c].loadend)}if(typeof e==="function"){this[c].loadend=e;this.addEventListener("loadend",e)}else{this[c].loadend=null}}get onerror(){g.brandCheck(this,FileReader);return this[c].error}set onerror(e){g.brandCheck(this,FileReader);if(this[c].error){this.removeEventListener("error",this[c].error)}if(typeof e==="function"){this[c].error=e;this.addEventListener("error",e)}else{this[c].error=null}}get onloadstart(){g.brandCheck(this,FileReader);return this[c].loadstart}set onloadstart(e){g.brandCheck(this,FileReader);if(this[c].loadstart){this.removeEventListener("loadstart",this[c].loadstart)}if(typeof e==="function"){this[c].loadstart=e;this.addEventListener("loadstart",e)}else{this[c].loadstart=null}}get onprogress(){g.brandCheck(this,FileReader);return this[c].progress}set onprogress(e){g.brandCheck(this,FileReader);if(this[c].progress){this.removeEventListener("progress",this[c].progress)}if(typeof e==="function"){this[c].progress=e;this.addEventListener("progress",e)}else{this[c].progress=null}}get onload(){g.brandCheck(this,FileReader);return this[c].load}set onload(e){g.brandCheck(this,FileReader);if(this[c].load){this.removeEventListener("load",this[c].load)}if(typeof e==="function"){this[c].load=e;this.addEventListener("load",e)}else{this[c].load=null}}get onabort(){g.brandCheck(this,FileReader);return this[c].abort}set onabort(e){g.brandCheck(this,FileReader);if(this[c].abort){this.removeEventListener("abort",this[c].abort)}if(typeof e==="function"){this[c].abort=e;this.addEventListener("abort",e)}else{this[c].abort=null}}}FileReader.EMPTY=FileReader.prototype.EMPTY=0;FileReader.LOADING=FileReader.prototype.LOADING=1;FileReader.DONE=FileReader.prototype.DONE=2;Object.defineProperties(FileReader.prototype,{EMPTY:s,LOADING:s,DONE:s,readAsArrayBuffer:h,readAsBinaryString:h,readAsText:h,readAsDataURL:h,abort:h,readyState:h,result:h,error:h,onloadstart:h,onprogress:h,onload:h,onabort:h,onerror:h,onloadend:h,[Symbol.toStringTag]:{value:"FileReader",writable:false,enumerable:false,configurable:true}});Object.defineProperties(FileReader,{EMPTY:s,LOADING:s,DONE:s});e.exports={FileReader:FileReader}},5976:(e,t,A)=>{"use strict";const{webidl:s}=A(4222);const r=Symbol("ProgressEvent state");class ProgressEvent extends Event{constructor(e,t={}){e=s.converters.DOMString(e);t=s.converters.ProgressEventInit(t??{});super(e,t);this[r]={lengthComputable:t.lengthComputable,loaded:t.loaded,total:t.total}}get lengthComputable(){s.brandCheck(this,ProgressEvent);return this[r].lengthComputable}get loaded(){s.brandCheck(this,ProgressEvent);return this[r].loaded}get total(){s.brandCheck(this,ProgressEvent);return this[r].total}}s.converters.ProgressEventInit=s.dictionaryConverter([{key:"lengthComputable",converter:s.converters.boolean,defaultValue:false},{key:"loaded",converter:s.converters["unsigned long long"],defaultValue:0},{key:"total",converter:s.converters["unsigned long long"],defaultValue:0},{key:"bubbles",converter:s.converters.boolean,defaultValue:false},{key:"cancelable",converter:s.converters.boolean,defaultValue:false},{key:"composed",converter:s.converters.boolean,defaultValue:false}]);e.exports={ProgressEvent:ProgressEvent}},6812:e=>{"use strict";e.exports={kState:Symbol("FileReader state"),kResult:Symbol("FileReader result"),kError:Symbol("FileReader error"),kLastProgressEventFired:Symbol("FileReader last progress event fired timestamp"),kEvents:Symbol("FileReader events"),kAborted:Symbol("FileReader aborted")}},165:(e,t,A)=>{"use strict";const{kState:s,kError:r,kResult:o,kAborted:i,kLastProgressEventFired:n}=A(6812);const{ProgressEvent:a}=A(5976);const{getEncoding:c}=A(396);const{DOMException:l}=A(7326);const{serializeAMimeType:g,parseMIMEType:h}=A(4322);const{types:u}=A(9023);const{StringDecoder:E}=A(3193);const{btoa:d}=A(181);const p={enumerable:true,writable:false,configurable:false};function readOperation(e,t,A,a){if(e[s]==="loading"){throw new l("Invalid state","InvalidStateError")}e[s]="loading";e[o]=null;e[r]=null;const c=t.stream();const g=c.getReader();const h=[];let E=g.read();let d=true;(async()=>{while(!e[i]){try{const{done:c,value:l}=await E;if(d&&!e[i]){queueMicrotask((()=>{fireAProgressEvent("loadstart",e)}))}d=false;if(!c&&u.isUint8Array(l)){h.push(l);if((e[n]===undefined||Date.now()-e[n]>=50)&&!e[i]){e[n]=Date.now();queueMicrotask((()=>{fireAProgressEvent("progress",e)}))}E=g.read()}else if(c){queueMicrotask((()=>{e[s]="done";try{const s=packageData(h,A,t.type,a);if(e[i]){return}e[o]=s;fireAProgressEvent("load",e)}catch(t){e[r]=t;fireAProgressEvent("error",e)}if(e[s]!=="loading"){fireAProgressEvent("loadend",e)}}));break}}catch(t){if(e[i]){return}queueMicrotask((()=>{e[s]="done";e[r]=t;fireAProgressEvent("error",e);if(e[s]!=="loading"){fireAProgressEvent("loadend",e)}}));break}}})()}function fireAProgressEvent(e,t){const A=new a(e,{bubbles:false,cancelable:false});t.dispatchEvent(A)}function packageData(e,t,A,s){switch(t){case"DataURL":{let t="data:";const s=h(A||"application/octet-stream");if(s!=="failure"){t+=g(s)}t+=";base64,";const r=new E("latin1");for(const A of e){t+=d(r.write(A))}t+=d(r.end());return t}case"Text":{let t="failure";if(s){t=c(s)}if(t==="failure"&&A){const e=h(A);if(e!=="failure"){t=c(e.parameters.get("charset"))}}if(t==="failure"){t="UTF-8"}return decode(e,t)}case"ArrayBuffer":{const t=combineByteSequences(e);return t.buffer}case"BinaryString":{let t="";const A=new E("latin1");for(const s of e){t+=A.write(s)}t+=A.end();return t}}}function decode(e,t){const A=combineByteSequences(e);const s=BOMSniffing(A);let r=0;if(s!==null){t=s;r=s==="UTF-8"?3:2}const o=A.slice(r);return new TextDecoder(t).decode(o)}function BOMSniffing(e){const[t,A,s]=e;if(t===239&&A===187&&s===191){return"UTF-8"}else if(t===254&&A===255){return"UTF-16BE"}else if(t===255&&A===254){return"UTF-16LE"}return null}function combineByteSequences(e){const t=e.reduce(((e,t)=>e+t.byteLength),0);let A=0;return e.reduce(((e,t)=>{e.set(t,A);A+=t.byteLength;return e}),new Uint8Array(t))}e.exports={staticPropertyDescriptors:p,readOperation:readOperation,fireAProgressEvent:fireAProgressEvent}},2581:(e,t,A)=>{"use strict";const s=Symbol.for("undici.globalDispatcher.1");const{InvalidArgumentError:r}=A(8707);const o=A(9965);if(getGlobalDispatcher()===undefined){setGlobalDispatcher(new o)}function setGlobalDispatcher(e){if(!e||typeof e.dispatch!=="function"){throw new r("Argument agent must implement Agent")}Object.defineProperty(globalThis,s,{value:e,writable:true,enumerable:false,configurable:false})}function getGlobalDispatcher(){return globalThis[s]}e.exports={setGlobalDispatcher:setGlobalDispatcher,getGlobalDispatcher:getGlobalDispatcher}},8840:e=>{"use strict";e.exports=class DecoratorHandler{constructor(e){this.handler=e}onConnect(...e){return this.handler.onConnect(...e)}onError(...e){return this.handler.onError(...e)}onUpgrade(...e){return this.handler.onUpgrade(...e)}onHeaders(...e){return this.handler.onHeaders(...e)}onData(...e){return this.handler.onData(...e)}onComplete(...e){return this.handler.onComplete(...e)}onBodySent(...e){return this.handler.onBodySent(...e)}}},8299:(e,t,A)=>{"use strict";const s=A(3440);const{kBodyUsed:r}=A(6443);const o=A(2613);const{InvalidArgumentError:i}=A(8707);const n=A(4434);const a=[300,301,302,303,307,308];const c=Symbol("body");class BodyAsyncIterable{constructor(e){this[c]=e;this[r]=false}async*[Symbol.asyncIterator](){o(!this[r],"disturbed");this[r]=true;yield*this[c]}}class RedirectHandler{constructor(e,t,A,a){if(t!=null&&(!Number.isInteger(t)||t<0)){throw new i("maxRedirections must be a positive number")}s.validateHandler(a,A.method,A.upgrade);this.dispatch=e;this.location=null;this.abort=null;this.opts={...A,maxRedirections:0};this.maxRedirections=t;this.handler=a;this.history=[];if(s.isStream(this.opts.body)){if(s.bodyLength(this.opts.body)===0){this.opts.body.on("data",(function(){o(false)}))}if(typeof this.opts.body.readableDidRead!=="boolean"){this.opts.body[r]=false;n.prototype.on.call(this.opts.body,"data",(function(){this[r]=true}))}}else if(this.opts.body&&typeof this.opts.body.pipeTo==="function"){this.opts.body=new BodyAsyncIterable(this.opts.body)}else if(this.opts.body&&typeof this.opts.body!=="string"&&!ArrayBuffer.isView(this.opts.body)&&s.isIterable(this.opts.body)){this.opts.body=new BodyAsyncIterable(this.opts.body)}}onConnect(e){this.abort=e;this.handler.onConnect(e,{history:this.history})}onUpgrade(e,t,A){this.handler.onUpgrade(e,t,A)}onError(e){this.handler.onError(e)}onHeaders(e,t,A,r){this.location=this.history.length>=this.maxRedirections||s.isDisturbed(this.opts.body)?null:parseLocation(e,t);if(this.opts.origin){this.history.push(new URL(this.opts.path,this.opts.origin))}if(!this.location){return this.handler.onHeaders(e,t,A,r)}const{origin:o,pathname:i,search:n}=s.parseURL(new URL(this.location,this.opts.origin&&new URL(this.opts.path,this.opts.origin)));const a=n?`${i}${n}`:i;this.opts.headers=cleanRequestHeaders(this.opts.headers,e===303,this.opts.origin!==o);this.opts.path=a;this.opts.origin=o;this.opts.maxRedirections=0;this.opts.query=null;if(e===303&&this.opts.method!=="HEAD"){this.opts.method="GET";this.opts.body=null}}onData(e){if(this.location){}else{return this.handler.onData(e)}}onComplete(e){if(this.location){this.location=null;this.abort=null;this.dispatch(this.opts,this)}else{this.handler.onComplete(e)}}onBodySent(e){if(this.handler.onBodySent){this.handler.onBodySent(e)}}}function parseLocation(e,t){if(a.indexOf(e)===-1){return null}for(let e=0;e{const s=A(2613);const{kRetryHandlerDefaultRetry:r}=A(6443);const{RequestRetryError:o}=A(8707);const{isDisturbed:i,parseHeaders:n,parseRangeHeader:a}=A(3440);function calculateRetryAfterHeader(e){const t=Date.now();const A=new Date(e).getTime()-t;return A}class RetryHandler{constructor(e,t){const{retryOptions:A,...s}=e;const{retry:o,maxRetries:i,maxTimeout:n,minTimeout:a,timeoutFactor:c,methods:l,errorCodes:g,retryAfter:h,statusCodes:u}=A??{};this.dispatch=t.dispatch;this.handler=t.handler;this.opts=s;this.abort=null;this.aborted=false;this.retryOpts={retry:o??RetryHandler[r],retryAfter:h??true,maxTimeout:n??30*1e3,timeout:a??500,timeoutFactor:c??2,maxRetries:i??5,methods:l??["GET","HEAD","OPTIONS","PUT","DELETE","TRACE"],statusCodes:u??[500,502,503,504,429],errorCodes:g??["ECONNRESET","ECONNREFUSED","ENOTFOUND","ENETDOWN","ENETUNREACH","EHOSTDOWN","EHOSTUNREACH","EPIPE"]};this.retryCount=0;this.start=0;this.end=null;this.etag=null;this.resume=null;this.handler.onConnect((e=>{this.aborted=true;if(this.abort){this.abort(e)}else{this.reason=e}}))}onRequestSent(){if(this.handler.onRequestSent){this.handler.onRequestSent()}}onUpgrade(e,t,A){if(this.handler.onUpgrade){this.handler.onUpgrade(e,t,A)}}onConnect(e){if(this.aborted){e(this.reason)}else{this.abort=e}}onBodySent(e){if(this.handler.onBodySent)return this.handler.onBodySent(e)}static[r](e,{state:t,opts:A},s){const{statusCode:r,code:o,headers:i}=e;const{method:n,retryOptions:a}=A;const{maxRetries:c,timeout:l,maxTimeout:g,timeoutFactor:h,statusCodes:u,errorCodes:E,methods:d}=a;let{counter:p,currentTimeout:Q}=t;Q=Q!=null&&Q>0?Q:l;if(o&&o!=="UND_ERR_REQ_RETRY"&&o!=="UND_ERR_SOCKET"&&!E.includes(o)){s(e);return}if(Array.isArray(d)&&!d.includes(n)){s(e);return}if(r!=null&&Array.isArray(u)&&!u.includes(r)){s(e);return}if(p>c){s(e);return}let C=i!=null&&i["retry-after"];if(C){C=Number(C);C=isNaN(C)?calculateRetryAfterHeader(C):C*1e3}const B=C>0?Math.min(C,g):Math.min(Q*h**p,g);t.currentTimeout=B;setTimeout((()=>s(null)),B)}onHeaders(e,t,A,r){const i=n(t);this.retryCount+=1;if(e>=300){this.abort(new o("Request failed",e,{headers:i,count:this.retryCount}));return false}if(this.resume!=null){this.resume=null;if(e!==206){return true}const t=a(i["content-range"]);if(!t){this.abort(new o("Content-Range mismatch",e,{headers:i,count:this.retryCount}));return false}if(this.etag!=null&&this.etag!==i.etag){this.abort(new o("ETag mismatch",e,{headers:i,count:this.retryCount}));return false}const{start:r,size:n,end:c=n}=t;s(this.start===r,"content-range mismatch");s(this.end==null||this.end===c,"content-range mismatch");this.resume=A;return true}if(this.end==null){if(e===206){const o=a(i["content-range"]);if(o==null){return this.handler.onHeaders(e,t,A,r)}const{start:n,size:c,end:l=c}=o;s(n!=null&&Number.isFinite(n)&&this.start!==n,"content-range mismatch");s(Number.isFinite(n));s(l!=null&&Number.isFinite(l)&&this.end!==l,"invalid content-length");this.start=n;this.end=l}if(this.end==null){const e=i["content-length"];this.end=e!=null?Number(e):null}s(Number.isFinite(this.start));s(this.end==null||Number.isFinite(this.end),"invalid content-length");this.resume=A;this.etag=i.etag!=null?i.etag:null;return this.handler.onHeaders(e,t,A,r)}const c=new o("Request failed",e,{headers:i,count:this.retryCount});this.abort(c);return false}onData(e){this.start+=e.length;return this.handler.onData(e)}onComplete(e){this.retryCount=0;return this.handler.onComplete(e)}onError(e){if(this.aborted||i(this.opts.body)){return this.handler.onError(e)}this.retryOpts.retry(e,{state:{counter:this.retryCount++,currentTimeout:this.retryAfter},opts:{retryOptions:this.retryOpts,...this.opts}},onRetry.bind(this));function onRetry(e){if(e!=null||this.aborted||i(this.opts.body)){return this.handler.onError(e)}if(this.start!==0){this.opts={...this.opts,headers:{...this.opts.headers,range:`bytes=${this.start}-${this.end??""}`}}}try{this.dispatch(this.opts,this)}catch(e){this.handler.onError(e)}}}}e.exports=RetryHandler},4415:(e,t,A)=>{"use strict";const s=A(8299);function createRedirectInterceptor({maxRedirections:e}){return t=>function Intercept(A,r){const{maxRedirections:o=e}=A;if(!o){return t(A,r)}const i=new s(t,o,A,r);A={...A,maxRedirections:0};return t(A,i)}}e.exports=createRedirectInterceptor},2824:(e,t,A)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.SPECIAL_HEADERS=t.HEADER_STATE=t.MINOR=t.MAJOR=t.CONNECTION_TOKEN_CHARS=t.HEADER_CHARS=t.TOKEN=t.STRICT_TOKEN=t.HEX=t.URL_CHAR=t.STRICT_URL_CHAR=t.USERINFO_CHARS=t.MARK=t.ALPHANUM=t.NUM=t.HEX_MAP=t.NUM_MAP=t.ALPHA=t.FINISH=t.H_METHOD_MAP=t.METHOD_MAP=t.METHODS_RTSP=t.METHODS_ICE=t.METHODS_HTTP=t.METHODS=t.LENIENT_FLAGS=t.FLAGS=t.TYPE=t.ERROR=void 0;const s=A(172);var r;(function(e){e[e["OK"]=0]="OK";e[e["INTERNAL"]=1]="INTERNAL";e[e["STRICT"]=2]="STRICT";e[e["LF_EXPECTED"]=3]="LF_EXPECTED";e[e["UNEXPECTED_CONTENT_LENGTH"]=4]="UNEXPECTED_CONTENT_LENGTH";e[e["CLOSED_CONNECTION"]=5]="CLOSED_CONNECTION";e[e["INVALID_METHOD"]=6]="INVALID_METHOD";e[e["INVALID_URL"]=7]="INVALID_URL";e[e["INVALID_CONSTANT"]=8]="INVALID_CONSTANT";e[e["INVALID_VERSION"]=9]="INVALID_VERSION";e[e["INVALID_HEADER_TOKEN"]=10]="INVALID_HEADER_TOKEN";e[e["INVALID_CONTENT_LENGTH"]=11]="INVALID_CONTENT_LENGTH";e[e["INVALID_CHUNK_SIZE"]=12]="INVALID_CHUNK_SIZE";e[e["INVALID_STATUS"]=13]="INVALID_STATUS";e[e["INVALID_EOF_STATE"]=14]="INVALID_EOF_STATE";e[e["INVALID_TRANSFER_ENCODING"]=15]="INVALID_TRANSFER_ENCODING";e[e["CB_MESSAGE_BEGIN"]=16]="CB_MESSAGE_BEGIN";e[e["CB_HEADERS_COMPLETE"]=17]="CB_HEADERS_COMPLETE";e[e["CB_MESSAGE_COMPLETE"]=18]="CB_MESSAGE_COMPLETE";e[e["CB_CHUNK_HEADER"]=19]="CB_CHUNK_HEADER";e[e["CB_CHUNK_COMPLETE"]=20]="CB_CHUNK_COMPLETE";e[e["PAUSED"]=21]="PAUSED";e[e["PAUSED_UPGRADE"]=22]="PAUSED_UPGRADE";e[e["PAUSED_H2_UPGRADE"]=23]="PAUSED_H2_UPGRADE";e[e["USER"]=24]="USER"})(r=t.ERROR||(t.ERROR={}));var o;(function(e){e[e["BOTH"]=0]="BOTH";e[e["REQUEST"]=1]="REQUEST";e[e["RESPONSE"]=2]="RESPONSE"})(o=t.TYPE||(t.TYPE={}));var i;(function(e){e[e["CONNECTION_KEEP_ALIVE"]=1]="CONNECTION_KEEP_ALIVE";e[e["CONNECTION_CLOSE"]=2]="CONNECTION_CLOSE";e[e["CONNECTION_UPGRADE"]=4]="CONNECTION_UPGRADE";e[e["CHUNKED"]=8]="CHUNKED";e[e["UPGRADE"]=16]="UPGRADE";e[e["CONTENT_LENGTH"]=32]="CONTENT_LENGTH";e[e["SKIPBODY"]=64]="SKIPBODY";e[e["TRAILING"]=128]="TRAILING";e[e["TRANSFER_ENCODING"]=512]="TRANSFER_ENCODING"})(i=t.FLAGS||(t.FLAGS={}));var n;(function(e){e[e["HEADERS"]=1]="HEADERS";e[e["CHUNKED_LENGTH"]=2]="CHUNKED_LENGTH";e[e["KEEP_ALIVE"]=4]="KEEP_ALIVE"})(n=t.LENIENT_FLAGS||(t.LENIENT_FLAGS={}));var a;(function(e){e[e["DELETE"]=0]="DELETE";e[e["GET"]=1]="GET";e[e["HEAD"]=2]="HEAD";e[e["POST"]=3]="POST";e[e["PUT"]=4]="PUT";e[e["CONNECT"]=5]="CONNECT";e[e["OPTIONS"]=6]="OPTIONS";e[e["TRACE"]=7]="TRACE";e[e["COPY"]=8]="COPY";e[e["LOCK"]=9]="LOCK";e[e["MKCOL"]=10]="MKCOL";e[e["MOVE"]=11]="MOVE";e[e["PROPFIND"]=12]="PROPFIND";e[e["PROPPATCH"]=13]="PROPPATCH";e[e["SEARCH"]=14]="SEARCH";e[e["UNLOCK"]=15]="UNLOCK";e[e["BIND"]=16]="BIND";e[e["REBIND"]=17]="REBIND";e[e["UNBIND"]=18]="UNBIND";e[e["ACL"]=19]="ACL";e[e["REPORT"]=20]="REPORT";e[e["MKACTIVITY"]=21]="MKACTIVITY";e[e["CHECKOUT"]=22]="CHECKOUT";e[e["MERGE"]=23]="MERGE";e[e["M-SEARCH"]=24]="M-SEARCH";e[e["NOTIFY"]=25]="NOTIFY";e[e["SUBSCRIBE"]=26]="SUBSCRIBE";e[e["UNSUBSCRIBE"]=27]="UNSUBSCRIBE";e[e["PATCH"]=28]="PATCH";e[e["PURGE"]=29]="PURGE";e[e["MKCALENDAR"]=30]="MKCALENDAR";e[e["LINK"]=31]="LINK";e[e["UNLINK"]=32]="UNLINK";e[e["SOURCE"]=33]="SOURCE";e[e["PRI"]=34]="PRI";e[e["DESCRIBE"]=35]="DESCRIBE";e[e["ANNOUNCE"]=36]="ANNOUNCE";e[e["SETUP"]=37]="SETUP";e[e["PLAY"]=38]="PLAY";e[e["PAUSE"]=39]="PAUSE";e[e["TEARDOWN"]=40]="TEARDOWN";e[e["GET_PARAMETER"]=41]="GET_PARAMETER";e[e["SET_PARAMETER"]=42]="SET_PARAMETER";e[e["REDIRECT"]=43]="REDIRECT";e[e["RECORD"]=44]="RECORD";e[e["FLUSH"]=45]="FLUSH"})(a=t.METHODS||(t.METHODS={}));t.METHODS_HTTP=[a.DELETE,a.GET,a.HEAD,a.POST,a.PUT,a.CONNECT,a.OPTIONS,a.TRACE,a.COPY,a.LOCK,a.MKCOL,a.MOVE,a.PROPFIND,a.PROPPATCH,a.SEARCH,a.UNLOCK,a.BIND,a.REBIND,a.UNBIND,a.ACL,a.REPORT,a.MKACTIVITY,a.CHECKOUT,a.MERGE,a["M-SEARCH"],a.NOTIFY,a.SUBSCRIBE,a.UNSUBSCRIBE,a.PATCH,a.PURGE,a.MKCALENDAR,a.LINK,a.UNLINK,a.PRI,a.SOURCE];t.METHODS_ICE=[a.SOURCE];t.METHODS_RTSP=[a.OPTIONS,a.DESCRIBE,a.ANNOUNCE,a.SETUP,a.PLAY,a.PAUSE,a.TEARDOWN,a.GET_PARAMETER,a.SET_PARAMETER,a.REDIRECT,a.RECORD,a.FLUSH,a.GET,a.POST];t.METHOD_MAP=s.enumToMap(a);t.H_METHOD_MAP={};Object.keys(t.METHOD_MAP).forEach((e=>{if(/^H/.test(e)){t.H_METHOD_MAP[e]=t.METHOD_MAP[e]}}));var c;(function(e){e[e["SAFE"]=0]="SAFE";e[e["SAFE_WITH_CB"]=1]="SAFE_WITH_CB";e[e["UNSAFE"]=2]="UNSAFE"})(c=t.FINISH||(t.FINISH={}));t.ALPHA=[];for(let e="A".charCodeAt(0);e<="Z".charCodeAt(0);e++){t.ALPHA.push(String.fromCharCode(e));t.ALPHA.push(String.fromCharCode(e+32))}t.NUM_MAP={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9};t.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};t.NUM=["0","1","2","3","4","5","6","7","8","9"];t.ALPHANUM=t.ALPHA.concat(t.NUM);t.MARK=["-","_",".","!","~","*","'","(",")"];t.USERINFO_CHARS=t.ALPHANUM.concat(t.MARK).concat(["%",";",":","&","=","+","$",","]);t.STRICT_URL_CHAR=["!",'"',"$","%","&","'","(",")","*","+",",","-",".","/",":",";","<","=",">","@","[","\\","]","^","_","`","{","|","}","~"].concat(t.ALPHANUM);t.URL_CHAR=t.STRICT_URL_CHAR.concat(["\t","\f"]);for(let e=128;e<=255;e++){t.URL_CHAR.push(e)}t.HEX=t.NUM.concat(["a","b","c","d","e","f","A","B","C","D","E","F"]);t.STRICT_TOKEN=["!","#","$","%","&","'","*","+","-",".","^","_","`","|","~"].concat(t.ALPHANUM);t.TOKEN=t.STRICT_TOKEN.concat([" "]);t.HEADER_CHARS=["\t"];for(let e=32;e<=255;e++){if(e!==127){t.HEADER_CHARS.push(e)}}t.CONNECTION_TOKEN_CHARS=t.HEADER_CHARS.filter((e=>e!==44));t.MAJOR=t.NUM_MAP;t.MINOR=t.MAJOR;var l;(function(e){e[e["GENERAL"]=0]="GENERAL";e[e["CONNECTION"]=1]="CONNECTION";e[e["CONTENT_LENGTH"]=2]="CONTENT_LENGTH";e[e["TRANSFER_ENCODING"]=3]="TRANSFER_ENCODING";e[e["UPGRADE"]=4]="UPGRADE";e[e["CONNECTION_KEEP_ALIVE"]=5]="CONNECTION_KEEP_ALIVE";e[e["CONNECTION_CLOSE"]=6]="CONNECTION_CLOSE";e[e["CONNECTION_UPGRADE"]=7]="CONNECTION_UPGRADE";e[e["TRANSFER_ENCODING_CHUNKED"]=8]="TRANSFER_ENCODING_CHUNKED"})(l=t.HEADER_STATE||(t.HEADER_STATE={}));t.SPECIAL_HEADERS={connection:l.CONNECTION,"content-length":l.CONTENT_LENGTH,"proxy-connection":l.CONNECTION,"transfer-encoding":l.TRANSFER_ENCODING,upgrade:l.UPGRADE}},3870:e=>{e.exports="AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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ADcDACAAQShqQgA3AwAgAEEgakIANwMAIABBEGpCADcDACAAQQhqQgA3AwAgAEHdATYCHEEAC3sBAX8CQCAAKAIMIgMNAAJAIAAoAgRFDQAgACABNgIECwJAIAAgASACEMSAgIAAIgMNACAAKAIMDwsgACADNgIcQQAhAyAAKAIEIgFFDQAgACABIAIgACgCCBGBgICAAAAiAUUNACAAIAI2AhQgACABNgIMIAEhAwsgAwvk8wEDDn8DfgR/I4CAgIAAQRBrIgMkgICAgAAgASEEIAEhBSABIQYgASEHIAEhCCABIQkgASEKIAEhCyABIQwgASENIAEhDiABIQ8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCHCIQQX9qDt0B2gEB2QECAwQFBgcICQoLDA0O2AEPENcBERLWARMUFRYXGBkaG+AB3wEcHR7VAR8gISIjJCXUASYnKCkqKyzTAdIBLS7RAdABLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVG2wFHSElKzwHOAUvNAUzMAU1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f4ABgQGCAYMBhAGFAYYBhwGIAYkB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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FCAAIBA2AgxBACEQDLIBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxNCyAAQdMANgIcIAAgATYCFCAAIBA2AgxBACEQDLEBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxRCyAAQeUANgIcIAAgATYCFCAAIBA2AgxBACEQDLABCyAAQQA2AhwgACABNgIUIABBxoqAgAA2AhAgAEEHNgIMQQAhEAyvAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHSADYCHCAAIAE2AhQgACAQNgIMQQAhEAyuAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHTADYCHCAAIAE2AhQgACAQNgIMQQAhEAytAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMTQsgAEHlADYCHCAAIAE2AhQgACAQNgIMQQAhEAysAQsgAEEANgIcIAAgATYCFCAAQdyIgIAANgIQIABBBzYCDEEAIRAMqwELIBBBP0cNASABQQFqIQELQQUhEAyQAQtBACEQIABBADYCHCAAIAE2AhQgAEH9koCAADYCECAAQQc2AgwMqAELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0gA2AhwgACABNgIUIAAgEDYCDEEAIRAMpwELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0wA2AhwgACABNgIUIAAgEDYCDEEAIRAMpgELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEYLIABB5QA2AhwgACABNgIUIAAgEDYCDEEAIRAMpQELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0gA2AhwgACAUNgIUIAAgATYCDEEAIRAMpAELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0wA2AhwgACAUNgIUIAAgATYCDEEAIRAMowELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDEMLIABB5QA2AhwgACAU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YWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21ldGhvZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lYCBjYWxsYmFjayBlcnJvcgBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNlcnZlcgBJbnZhbGlkIGhlYWRlciB2YWx1ZSBjaGFyAEludmFsaWQgaGVhZGVyIGZpZWxkIGNoYXIAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl92ZXJzaW9uAEludmFsaWQgbWlub3IgdmVyc2lvbgBJbnZhbGlkIG1ham9yIHZlcnNpb24ARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgdmVyc2lvbgBFeHBlY3RlZCBDUkxGIGFmdGVyIHZlcnNpb24ASW52YWxpZCBIVFRQIHZlcnNpb24ASW52YWxpZCBoZWFkZXIgdG9rZW4AU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl91cmwASW52YWxpZCBjaGFyYWN0ZXJzIGluIHVybABVbmV4cGVjdGVkIHN0YXJ0IGNoYXIgaW4gdXJsAERvdWJsZSBAIGluIHVybABFbXB0eSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXJhY3RlciBpbiBDb250ZW50LUxlbmd0aABEdXBsaWNhdGUgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyIGluIHVybCBwYXRoAENvbnRlbnQtTGVuZ3RoIGNhbid0IGJlIHByZXNlbnQgd2l0aCBUcmFuc2Zlci1FbmNvZGluZwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBzaXplAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX3ZhbHVlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgdmFsdWUATWlzc2luZyBleHBlY3RlZCBMRiBhZnRlciBoZWFkZXIgdmFsdWUASW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fbmFtZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIG5hbWUAUGF1c2Ugb24gQ09OTkVDVC9VcGdyYWRlAFBhdXNlIG9uIFBSSS9VcGdyYWRlAEV4cGVjdGVkIEhUVFAvMiBDb25uZWN0aW9uIFByZWZhY2UAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9tZXRob2QARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgbWV0aG9kAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX2ZpZWxkAFBhdXNlZABJbnZhbGlkIHdvcmQgZW5jb3VudGVyZWQASW52YWxpZCBtZXRob2QgZW5jb3VudGVyZWQAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzY2hlbWEAUmVxdWVzdCBoYXMgaW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX0NIVU5LX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX05BTUVfQ09NUExFVEUASFBFX0NCX01FU1NBR0VfQ09NUExFVEUASFBFX0NCX01FVEhPRF9DT01QTEVURQBIUEVfQ0JfSEVBREVSX0ZJRUxEX0NPTVBMRVRFAERFTEVURQBIUEVfSU5WQUxJRF9FT0ZfU1RBVEUASU5WQUxJRF9TU0xfQ0VSVElGSUNBVEUAUEFVU0UATk9fUkVTUE9OU0UAVU5TVVBQT1JURURfTUVESUFfVFlQRQBHT05FAE5PVF9BQ0NFUFRBQkxFAFNFUlZJQ0VfVU5BVkFJTEFCTEUAUkFOR0VfTk9UX1NBVElTRklBQkxFAE9SSUdJTl9JU19VTlJFQUNIQUJMRQBSRVNQT05TRV9JU19TVEFMRQBQVVJHRQBNRVJHRQBSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFAFJFUVVFU1RfSEVBREVSX1RPT19MQVJHRQBQQVlMT0FEX1RPT19MQVJHRQBJTlNVRkZJQ0lFTlRfU1RPUkFHRQBIUEVfUEFVU0VEX1VQR1JBREUASFBFX1BBVVNFRF9IMl9VUEdSQURFAFNPVVJDRQBBTk5PVU5DRQBUUkFDRQBIUEVfVU5FWFBFQ1RFRF9TUEFDRQBERVNDUklCRQBVTlNVQlNDUklCRQBSRUNPUkQASFBFX0lOVkFMSURfTUVUSE9EAE5PVF9GT1VORABQUk9QRklORABVTkJJTkQAUkVCSU5EAFVOQVVUSE9SSVpFRABNRVRIT0RfTk9UX0FMTE9XRUQASFRUUF9WRVJTSU9OX05PVF9TVVBQT1JURUQAQUxSRUFEWV9SRVBPUlRFRABBQ0NFUFRFRABOT1RfSU1QTEVNRU5URUQATE9PUF9ERVRFQ1RFRABIUEVfQ1JfRVhQRUNURUQASFBFX0xGX0VYUEVDVEVEAENSRUFURUQASU1fVVNFRABIUEVfUEFVU0VEAFRJTUVPVVRfT0NDVVJFRABQQVlNRU5UX1JFUVVJUkVEAFBSRUNPTkRJVElPTl9SRVFVSVJFRABQUk9YWV9BVVRIRU5USUNBVElPTl9SRVFVSVJFRABORVRXT1JLX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAExFTkdUSF9SRVFVSVJFRABTU0xfQ0VSVElGSUNBVEVfUkVRVUlSRUQAVVBHUkFERV9SRVFVSVJFRABQQUdFX0VYUElSRUQAUFJFQ09ORElUSU9OX0ZBSUxFRABFWFBFQ1RBVElPTl9GQUlMRUQAUkVWQUxJREFUSU9OX0ZBSUxFRABTU0xfSEFORFNIQUtFX0ZBSUxFRABMT0NLRUQAVFJBTlNGT1JNQVRJT05fQVBQTElFRABOT1RfTU9ESUZJRUQATk9UX0VYVEVOREVEAEJBTkRXSURUSF9MSU1JVF9FWENFRURFRABTSVRFX0lTX09WRVJMT0FERUQASEVBRABFeHBlY3RlZCBIVFRQLwAAXhMAACYTAAAwEAAA8BcAAJ0TAAAVEgAAORcAAPASAAAKEAAAdRIAAK0SAACCEwAATxQAAH8QAACgFQAAIxQAAIkSAACLFAAATRUAANQRAADPFAAAEBgAAMkWAADcFgAAwREAAOAXAAC7FAAAdBQAAHwVAADlFAAACBcAAB8QAABlFQAAoxQAACgVAAACFQAAmRUAACwQAACLGQAATw8AANQOAABqEAAAzhAAAAIXAACJDgAAbhMAABwTAABmFAAAVhcAAMETAADNEwAAbBMAAGgXAABmFwAAXxcAACITAADODwAAaQ4AANgOAABjFgAAyxMAAKoOAAAoFwAAJhcAAMUTAABdFgAA6BEAAGcTAABlEwAA8hYAAHMTAAAdFwAA+RYAAPMRAADPDgAAzhUAAAwSAACzEQAApREAAGEQAAAyFwAAuxMAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIDAgICAgIAAAICAAICAAICAgICAgICAgIABAAAAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbG9zZWVlcC1hbGl2ZQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEAAAEBAAEBAAEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AAAAAAAAAAAAAAAAAAAByYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AAAAAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQIAAQMAAAAAAAAAAAAAAAAAAAAAAAAEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAQAAAgAAAAAAAAAAAAAAAAAAAAAAAAMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAIAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOT1VOQ0VFQ0tPVVRORUNURVRFQ1JJQkVMVVNIRVRFQURTRUFSQ0hSR0VDVElWSVRZTEVOREFSVkVPVElGWVBUSU9OU0NIU0VBWVNUQVRDSEdFT1JESVJFQ1RPUlRSQ0hQQVJBTUVURVJVUkNFQlNDUklCRUFSRE9XTkFDRUlORE5LQ0tVQlNDUklCRUhUVFAvQURUUC8="},3434:e=>{e.exports="AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJsbGh0dHBfc3RhdHVzX25hbWUAIRpsbGh0dHBfc2V0X2xlbmllbnRfaGVhZGVycwAiIWxsaHR0cF9zZXRfbGVuaWVudF9jaHVua2VkX2xlbmd0aAAjHWxsaHR0cF9zZXRfbGVuaWVudF9rZWVwX2FsaXZlACQkbGxodHRwX3NldF9sZW5pZW50X3RyYW5zZmVyX2VuY29kaW5nACUYbGxodHRwX21lc3NhZ2VfbmVlZHNfZW9mAD8JFwEAQQELEQECAwQFCwYHNTk3MS8tJyspCrLgAkUCAAsIABCIgICAAAsZACAAEMKAgIAAGiAAIAI2AjggACABOgAoCxwAIAAgAC8BMiAALQAuIAAQwYCAgAAQgICAgAALKgEBf0HAABDGgICAACIBEMKAgIAAGiABQYCIgIAANgI4IAEgADoAKCABCwoAIAAQyICAgAALBwAgAC0AKAsHACAALQAqCwcAIAAtACsLBwAgAC0AKQsHACAALwEyCwcAIAAtAC4LRQEEfyAAKAIYIQEgAC0ALSECIAAtACghAyAAKAI4IQQgABDCgICAABogACAENgI4IAAgAzoAKCAAIAI6AC0gACABNgIYCxEAIAAgASABIAJqEMOAgIAACxAAIABBAEHcABDMgICAABoLZwEBf0EAIQECQCAAKAIMDQACQAJAAkACQCAALQAvDgMBAAMCCyAAKAI4IgFFDQAgASgCLCIBRQ0AIAAgARGAgICAAAAiAQ0DC0EADwsQyoCAgAAACyAAQcOWgIAANgIQQQ4hAQsgAQseAAJAIAAoAgwNACAAQdGbgIAANgIQIABBFTYCDAsLFgACQCAAKAIMQRVHDQAgAEEANgIMCwsWAAJAIAAoAgxBFkcNACAAQQA2AgwLCwcAIAAoAgwLBwAgACgCEAsJACAAIAE2AhALBwAgACgCFAsiAAJAIABBJEkNABDKgICAAAALIABBAnRBoLOAgABqKAIACyIAAkAgAEEuSQ0AEMqAgIAAAAsgAEECdEGwtICAAGooAgAL7gsBAX9B66iAgAAhAQJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABBnH9qDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0Hhp4CAAA8LQaShgIAADwtBy6yAgAAPC0H+sYCAAA8LQcCkgIAADwtBq6SAgAAPC0GNqICAAA8LQeKmgIAADwtBgLCAgAAPC0G5r4CAAA8LQdekgIAADwtB75+AgAAPC0Hhn4CAAA8LQfqfgIAADwtB8qCAgAAPC0Gor4CAAA8LQa6ygIAADwtBiLCAgAAPC0Hsp4CAAA8LQYKigIAADwtBjp2AgAAPC0HQroCAAA8LQcqjgIAADwtBxbKAgAAPC0HfnICAAA8LQdKcgIAADwtBxKCAgAAPC0HXoICAAA8LQaKfgIAADwtB7a6AgAAPC0GrsICAAA8LQdSlgIAADwtBzK6AgAAPC0H6roCAAA8LQfyrgIAADwtB0rCAgAAPC0HxnYCAAA8LQbuggIAADwtB96uAgAAPC0GQsYCAAA8LQdexgIAADwtBoq2AgAAPC0HUp4CAAA8LQeCrgIAADwtBn6yAgAAPC0HrsYCAAA8LQdWfgIAADwtByrGAgAAPC0HepYCAAA8LQdSegIAADwtB9JyAgAAPC0GnsoCAAA8LQbGdgIAADwtBoJ2AgAAPC0G5sYCAAA8LQbywgIAADwtBkqGAgAAPC0GzpoCAAA8LQemsgIAADwtBrJ6AgAAPC0HUq4CAAA8LQfemgIAADwtBgKaAgAAPC0GwoYCAAA8LQf6egIAADwtBjaOAgAAPC0GJrYCAAA8LQfeigIAADwtBoLGAgAAPC0Gun4CAAA8LQcalgIAADwtB6J6AgAAPC0GTooCAAA8LQcKvgIAADwtBw52AgAAPC0GLrICAAA8LQeGdgIAADwtBja+AgAAPC0HqoYCAAA8LQbStgIAADwtB0q+AgAAPC0HfsoCAAA8LQdKygIAADwtB8LCAgAAPC0GpooCAAA8LQfmjgIAADwtBmZ6AgAAPC0G1rICAAA8LQZuwgIAADwtBkrKAgAAPC0G2q4CAAA8LQcKigIAADwtB+LKAgAAPC0GepYCAAA8LQdCigIAADwtBup6AgAAPC0GBnoCAAA8LEMqAgIAAAAtB1qGAgAAhAQsgAQsWACAAIAAtAC1B/gFxIAFBAEdyOgAtCxkAIAAgAC0ALUH9AXEgAUEAR0EBdHI6AC0LGQAgACAALQAtQfsBcSABQQBHQQJ0cjoALQsZACAAIAAtAC1B9wFxIAFBAEdBA3RyOgAtCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAgAiBEUNACAAIAQRgICAgAAAIQMLIAMLSQECf0EAIQMCQCAAKAI4IgRFDQAgBCgCBCIERQ0AIAAgASACIAFrIAQRgYCAgAAAIgNBf0cNACAAQcaRgIAANgIQQRghAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIwIgRFDQAgACAEEYCAgIAAACEDCyADC0kBAn9BACEDAkAgACgCOCIERQ0AIAQoAggiBEUNACAAIAEgAiABayAEEYGAgIAAACIDQX9HDQAgAEH2ioCAADYCEEEYIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCNCIERQ0AIAAgBBGAgICAAAAhAwsgAwtJAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIMIgRFDQAgACABIAIgAWsgBBGBgICAAAAiA0F/Rw0AIABB7ZqAgAA2AhBBGCEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAjgiBEUNACAAIAQRgICAgAAAIQMLIAMLSQECf0EAIQMCQCAAKAI4IgRFDQAgBCgCECIERQ0AIAAgASACIAFrIAQRgYCAgAAAIgNBf0cNACAAQZWQgIAANgIQQRghAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAI8IgRFDQAgACAEEYCAgIAAACEDCyADC0kBAn9BACEDAkAgACgCOCIERQ0AIAQoAhQiBEUNACAAIAEgAiABayAEEYGAgIAAACIDQX9HDQAgAEGqm4CAADYCEEEYIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCQCIERQ0AIAAgBBGAgICAAAAhAwsgAwtJAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIYIgRFDQAgACABIAIgAWsgBBGBgICAAAAiA0F/Rw0AIABB7ZOAgAA2AhBBGCEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAkQiBEUNACAAIAQRgICAgAAAIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCJCIERQ0AIAAgBBGAgICAAAAhAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIsIgRFDQAgACAEEYCAgIAAACEDCyADC0kBAn9BACEDAkAgACgCOCIERQ0AIAQoAigiBEUNACAAIAEgAiABayAEEYGAgIAAACIDQX9HDQAgAEH2iICAADYCEEEYIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCUCIERQ0AIAAgBBGAgICAAAAhAwsgAwtJAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAIcIgRFDQAgACABIAIgAWsgBBGBgICAAAAiA0F/Rw0AIABBwpmAgAA2AhBBGCEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAkgiBEUNACAAIAQRgICAgAAAIQMLIAMLSQECf0EAIQMCQCAAKAI4IgRFDQAgBCgCICIERQ0AIAAgASACIAFrIAQRgYCAgAAAIgNBf0cNACAAQZSUgIAANgIQQRghAwsgAwsuAQJ/QQAhAwJAIAAoAjgiBEUNACAEKAJMIgRFDQAgACAEEYCAgIAAACEDCyADCy4BAn9BACEDAkAgACgCOCIERQ0AIAQoAlQiBEUNACAAIAQRgICAgAAAIQMLIAMLLgECf0EAIQMCQCAAKAI4IgRFDQAgBCgCWCIERQ0AIAAgBBGAgICAAAAhAwsgAwtFAQF/AkACQCAALwEwQRRxQRRHDQBBASEDIAAtAChBAUYNASAALwEyQeUARiEDDAELIAAtAClBBUYhAwsgACADOgAuQQAL/gEBA39BASEDAkAgAC8BMCIEQQhxDQAgACkDIEIAUiEDCwJAAkAgAC0ALkUNAEEBIQUgAC0AKUEFRg0BQQEhBSAEQcAAcUUgA3FBAUcNAQtBACEFIARBwABxDQBBAiEFIARB//8DcSIDQQhxDQACQCADQYAEcUUNAAJAIAAtAChBAUcNACAALQAtQQpxDQBBBQ8LQQQPCwJAIANBIHENAAJAIAAtAChBAUYNACAALwEyQf//A3EiAEGcf2pB5ABJDQAgAEHMAUYNACAAQbACRg0AQQQhBSAEQShxRQ0CIANBiARxQYAERg0CC0EADwtBAEEDIAApAyBQGyEFCyAFC2IBAn9BACEBAkAgAC0AKEEBRg0AIAAvATJB//8DcSICQZx/akHkAEkNACACQcwBRg0AIAJBsAJGDQAgAC8BMCIAQcAAcQ0AQQEhASAAQYgEcUGABEYNACAAQShxRSEBCyABC6cBAQN/AkACQAJAIAAtACpFDQAgAC0AK0UNAEEAIQMgAC8BMCIEQQJxRQ0BDAILQQAhAyAALwEwIgRBAXFFDQELQQEhAyAALQAoQQFGDQAgAC8BMkH//wNxIgVBnH9qQeQASQ0AIAVBzAFGDQAgBUGwAkYNACAEQcAAcQ0AQQAhAyAEQYgEcUGABEYNACAEQShxQQBHIQMLIABBADsBMCAAQQA6AC8gAwuZAQECfwJAAkACQCAALQAqRQ0AIAAtACtFDQBBACEBIAAvATAiAkECcUUNAQwCC0EAIQEgAC8BMCICQQFxRQ0BC0EBIQEgAC0AKEEBRg0AIAAvATJB//8DcSIAQZx/akHkAEkNACAAQcwBRg0AIABBsAJGDQAgAkHAAHENAEEAIQEgAkGIBHFBgARGDQAgAkEocUEARyEBCyABC0kBAXsgAEEQav0MAAAAAAAAAAAAAAAAAAAAACIB/QsDACAAIAH9CwMAIABBMGogAf0LAwAgAEEgaiAB/QsDACAAQd0BNgIcQQALewEBfwJAIAAoAgwiAw0AAkAgACgCBEUNACAAIAE2AgQLAkAgACABIAIQxICAgAAiAw0AIAAoAgwPCyAAIAM2AhxBACEDIAAoAgQiAUUNACAAIAEgAiAAKAIIEYGAgIAAACIBRQ0AIAAgAjYCFCAAIAE2AgwgASEDCyADC+TzAQMOfwN+BH8jgICAgABBEGsiAySAgICAACABIQQgASEFIAEhBiABIQcgASEIIAEhCSABIQogASELIAEhDCABIQ0gASEOIAEhDwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIcIhBBf2oO3QHaAQHZAQIDBAUGBwgJCgsMDQ7YAQ8Q1wEREtYBExQVFhcYGRob4AHfARwdHtUBHyAhIiMkJdQBJicoKSorLNMB0gEtLtEB0AEvMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUbbAUdISUrPAc4BS80BTMwBTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIBAOxwEAAQID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YWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsb3NlZWVwLWFsaXZlAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgAAAAAAAAAAAAAAAAAAAHJhbnNmZXItZW5jb2RpbmdwZ3JhZGUNCg0KDQpTTQ0KDQpUVFAvQ0UvVFNQLwAAAAAAAAAAAAAAAAECAAEDAAAAAAAAAAAAAAAAAAAAAAAABAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQUBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAABAAACAAAAAAAAAAAAAAAAAAAAAAAAAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAgAAAAACAAAAAAAAAAAAAAAAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw=="},172:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.enumToMap=void 0;function enumToMap(e){const t={};Object.keys(e).forEach((A=>{const s=e[A];if(typeof s==="number"){t[A]=s}}));return t}t.enumToMap=enumToMap},7501:(e,t,A)=>{"use strict";const{kClients:s}=A(6443);const r=A(9965);const{kAgent:o,kMockAgentSet:i,kMockAgentGet:n,kDispatches:a,kIsMockActive:c,kNetConnect:l,kGetNetConnect:g,kOptions:h,kFactory:u}=A(1117);const E=A(7365);const d=A(4004);const{matchValue:p,buildMockOptions:Q}=A(3397);const{InvalidArgumentError:C,UndiciError:B}=A(8707);const I=A(992);const y=A(1529);const w=A(6142);class FakeWeakRef{constructor(e){this.value=e}deref(){return this.value}}class MockAgent extends I{constructor(e){super(e);this[l]=true;this[c]=true;if(e&&e.agent&&typeof e.agent.dispatch!=="function"){throw new C("Argument opts.agent must implement Agent")}const t=e&&e.agent?e.agent:new r(e);this[o]=t;this[s]=t[s];this[h]=Q(e)}get(e){let t=this[n](e);if(!t){t=this[u](e);this[i](e,t)}return t}dispatch(e,t){this.get(e.origin);return this[o].dispatch(e,t)}async close(){await this[o].close();this[s].clear()}deactivate(){this[c]=false}activate(){this[c]=true}enableNetConnect(e){if(typeof e==="string"||typeof e==="function"||e instanceof RegExp){if(Array.isArray(this[l])){this[l].push(e)}else{this[l]=[e]}}else if(typeof e==="undefined"){this[l]=true}else{throw new C("Unsupported matcher. Must be one of String|Function|RegExp.")}}disableNetConnect(){this[l]=false}get isMockActive(){return this[c]}[i](e,t){this[s].set(e,new FakeWeakRef(t))}[u](e){const t=Object.assign({agent:this},this[h]);return this[h]&&this[h].connections===1?new E(e,t):new d(e,t)}[n](e){const t=this[s].get(e);if(t){return t.deref()}if(typeof e!=="string"){const t=this[u]("http://localhost:9999");this[i](e,t);return t}for(const[t,A]of Array.from(this[s])){const s=A.deref();if(s&&typeof t!=="string"&&p(t,e)){const t=this[u](e);this[i](e,t);t[a]=s[a];return t}}}[g](){return this[l]}pendingInterceptors(){const e=this[s];return Array.from(e.entries()).flatMap((([e,t])=>t.deref()[a].map((t=>({...t,origin:e}))))).filter((({pending:e})=>e))}assertNoPendingInterceptors({pendingInterceptorsFormatter:e=new w}={}){const t=this.pendingInterceptors();if(t.length===0){return}const A=new y("interceptor","interceptors").pluralize(t.length);throw new B(`\n${A.count} ${A.noun} ${A.is} pending:\n\n${e.format(t)}\n`.trim())}}e.exports=MockAgent},7365:(e,t,A)=>{"use strict";const{promisify:s}=A(9023);const r=A(6197);const{buildMockDispatch:o}=A(3397);const{kDispatches:i,kMockAgent:n,kClose:a,kOriginalClose:c,kOrigin:l,kOriginalDispatch:g,kConnected:h}=A(1117);const{MockInterceptor:u}=A(1511);const E=A(6443);const{InvalidArgumentError:d}=A(8707);class MockClient extends r{constructor(e,t){super(e,t);if(!t||!t.agent||typeof t.agent.dispatch!=="function"){throw new d("Argument opts.agent must implement Agent")}this[n]=t.agent;this[l]=e;this[i]=[];this[h]=1;this[g]=this.dispatch;this[c]=this.close.bind(this);this.dispatch=o.call(this);this.close=this[a]}get[E.kConnected](){return this[h]}intercept(e){return new u(e,this[i])}async[a](){await s(this[c])();this[h]=0;this[n][E.kClients].delete(this[l])}}e.exports=MockClient},2429:(e,t,A)=>{"use strict";const{UndiciError:s}=A(8707);class MockNotMatchedError extends s{constructor(e){super(e);Error.captureStackTrace(this,MockNotMatchedError);this.name="MockNotMatchedError";this.message=e||"The request does not match any registered mock dispatches";this.code="UND_MOCK_ERR_MOCK_NOT_MATCHED"}}e.exports={MockNotMatchedError:MockNotMatchedError}},1511:(e,t,A)=>{"use strict";const{getResponseData:s,buildKey:r,addMockDispatch:o}=A(3397);const{kDispatches:i,kDispatchKey:n,kDefaultHeaders:a,kDefaultTrailers:c,kContentLength:l,kMockDispatch:g}=A(1117);const{InvalidArgumentError:h}=A(8707);const{buildURL:u}=A(3440);class MockScope{constructor(e){this[g]=e}delay(e){if(typeof e!=="number"||!Number.isInteger(e)||e<=0){throw new h("waitInMs must be a valid integer > 0")}this[g].delay=e;return this}persist(){this[g].persist=true;return this}times(e){if(typeof e!=="number"||!Number.isInteger(e)||e<=0){throw new h("repeatTimes must be a valid integer > 0")}this[g].times=e;return this}}class MockInterceptor{constructor(e,t){if(typeof e!=="object"){throw new h("opts must be an object")}if(typeof e.path==="undefined"){throw new h("opts.path must be defined")}if(typeof e.method==="undefined"){e.method="GET"}if(typeof e.path==="string"){if(e.query){e.path=u(e.path,e.query)}else{const t=new URL(e.path,"data://");e.path=t.pathname+t.search}}if(typeof e.method==="string"){e.method=e.method.toUpperCase()}this[n]=r(e);this[i]=t;this[a]={};this[c]={};this[l]=false}createMockScopeDispatchData(e,t,A={}){const r=s(t);const o=this[l]?{"content-length":r.length}:{};const i={...this[a],...o,...A.headers};const n={...this[c],...A.trailers};return{statusCode:e,data:t,headers:i,trailers:n}}validateReplyParameters(e,t,A){if(typeof e==="undefined"){throw new h("statusCode must be defined")}if(typeof t==="undefined"){throw new h("data must be defined")}if(typeof A!=="object"){throw new h("responseOptions must be an object")}}reply(e){if(typeof e==="function"){const wrappedDefaultsCallback=t=>{const A=e(t);if(typeof A!=="object"){throw new h("reply options callback must return an object")}const{statusCode:s,data:r="",responseOptions:o={}}=A;this.validateReplyParameters(s,r,o);return{...this.createMockScopeDispatchData(s,r,o)}};const t=o(this[i],this[n],wrappedDefaultsCallback);return new MockScope(t)}const[t,A="",s={}]=[...arguments];this.validateReplyParameters(t,A,s);const r=this.createMockScopeDispatchData(t,A,s);const a=o(this[i],this[n],r);return new MockScope(a)}replyWithError(e){if(typeof e==="undefined"){throw new h("error must be defined")}const t=o(this[i],this[n],{error:e});return new MockScope(t)}defaultReplyHeaders(e){if(typeof e==="undefined"){throw new h("headers must be defined")}this[a]=e;return this}defaultReplyTrailers(e){if(typeof e==="undefined"){throw new h("trailers must be defined")}this[c]=e;return this}replyContentLength(){this[l]=true;return this}}e.exports.MockInterceptor=MockInterceptor;e.exports.MockScope=MockScope},4004:(e,t,A)=>{"use strict";const{promisify:s}=A(9023);const r=A(5076);const{buildMockDispatch:o}=A(3397);const{kDispatches:i,kMockAgent:n,kClose:a,kOriginalClose:c,kOrigin:l,kOriginalDispatch:g,kConnected:h}=A(1117);const{MockInterceptor:u}=A(1511);const E=A(6443);const{InvalidArgumentError:d}=A(8707);class MockPool extends r{constructor(e,t){super(e,t);if(!t||!t.agent||typeof t.agent.dispatch!=="function"){throw new d("Argument opts.agent must implement Agent")}this[n]=t.agent;this[l]=e;this[i]=[];this[h]=1;this[g]=this.dispatch;this[c]=this.close.bind(this);this.dispatch=o.call(this);this.close=this[a]}get[E.kConnected](){return this[h]}intercept(e){return new u(e,this[i])}async[a](){await s(this[c])();this[h]=0;this[n][E.kClients].delete(this[l])}}e.exports=MockPool},1117:e=>{"use strict";e.exports={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"),kOrigin:Symbol("origin"),kIsMockActive:Symbol("is mock active"),kNetConnect:Symbol("net connect"),kGetNetConnect:Symbol("get net connect"),kConnected:Symbol("connected")}},3397:(e,t,A)=>{"use strict";const{MockNotMatchedError:s}=A(2429);const{kDispatches:r,kMockAgent:o,kOriginalDispatch:i,kOrigin:n,kGetNetConnect:a}=A(1117);const{buildURL:c,nop:l}=A(3440);const{STATUS_CODES:g}=A(8611);const{types:{isPromise:h}}=A(9023);function matchValue(e,t){if(typeof e==="string"){return e===t}if(e instanceof RegExp){return e.test(t)}if(typeof e==="function"){return e(t)===true}return false}function lowerCaseEntries(e){return Object.fromEntries(Object.entries(e).map((([e,t])=>[e.toLocaleLowerCase(),t])))}function getHeaderByName(e,t){if(Array.isArray(e)){for(let A=0;A!e)).filter((({path:e})=>matchValue(safeUrl(e),r)));if(o.length===0){throw new s(`Mock dispatch not matched for path '${r}'`)}o=o.filter((({method:e})=>matchValue(e,t.method)));if(o.length===0){throw new s(`Mock dispatch not matched for method '${t.method}'`)}o=o.filter((({body:e})=>typeof e!=="undefined"?matchValue(e,t.body):true));if(o.length===0){throw new s(`Mock dispatch not matched for body '${t.body}'`)}o=o.filter((e=>matchHeaders(e,t.headers)));if(o.length===0){throw new s(`Mock dispatch not matched for headers '${typeof t.headers==="object"?JSON.stringify(t.headers):t.headers}'`)}return o[0]}function addMockDispatch(e,t,A){const s={timesInvoked:0,times:1,persist:false,consumed:false};const r=typeof A==="function"?{callback:A}:{...A};const o={...s,...t,pending:true,data:{error:null,...r}};e.push(o);return o}function deleteMockDispatch(e,t){const A=e.findIndex((e=>{if(!e.consumed){return false}return matchKey(e,t)}));if(A!==-1){e.splice(A,1)}}function buildKey(e){const{path:t,method:A,body:s,headers:r,query:o}=e;return{path:t,method:A,body:s,headers:r,query:o}}function generateKeyValues(e){return Object.entries(e).reduce(((e,[t,A])=>[...e,Buffer.from(`${t}`),Array.isArray(A)?A.map((e=>Buffer.from(`${e}`))):Buffer.from(`${A}`)]),[])}function getStatusText(e){return g[e]||"unknown"}async function getResponse(e){const t=[];for await(const A of e){t.push(A)}return Buffer.concat(t).toString("utf8")}function mockDispatch(e,t){const A=buildKey(e);const s=getMockDispatch(this[r],A);s.timesInvoked++;if(s.data.callback){s.data={...s.data,...s.data.callback(e)}}const{data:{statusCode:o,data:i,headers:n,trailers:a,error:c},delay:g,persist:u}=s;const{timesInvoked:E,times:d}=s;s.consumed=!u&&E>=d;s.pending=E0){setTimeout((()=>{handleReply(this[r])}),g)}else{handleReply(this[r])}function handleReply(s,r=i){const c=Array.isArray(e.headers)?buildHeadersFromArray(e.headers):e.headers;const g=typeof r==="function"?r({...e,headers:c}):r;if(h(g)){g.then((e=>handleReply(s,e)));return}const u=getResponseData(g);const E=generateKeyValues(n);const d=generateKeyValues(a);t.abort=l;t.onHeaders(o,E,resume,getStatusText(o));t.onData(Buffer.from(u));t.onComplete(d);deleteMockDispatch(s,A)}function resume(){}return true}function buildMockDispatch(){const e=this[o];const t=this[n];const A=this[i];return function dispatch(r,o){if(e.isMockActive){try{mockDispatch.call(this,r,o)}catch(i){if(i instanceof s){const n=e[a]();if(n===false){throw new s(`${i.message}: subsequent request to origin ${t} was not allowed (net.connect disabled)`)}if(checkNetConnect(n,t)){A.call(this,r,o)}else{throw new s(`${i.message}: subsequent request to origin ${t} was not allowed (net.connect is not enabled for this origin)`)}}else{throw i}}}else{A.call(this,r,o)}}}function checkNetConnect(e,t){const A=new URL(t);if(e===true){return true}else if(Array.isArray(e)&&e.some((e=>matchValue(e,A.host)))){return true}return false}function buildMockOptions(e){if(e){const{agent:t,...A}=e;return A}}e.exports={getResponseData:getResponseData,getMockDispatch:getMockDispatch,addMockDispatch:addMockDispatch,deleteMockDispatch:deleteMockDispatch,buildKey:buildKey,generateKeyValues:generateKeyValues,matchValue:matchValue,getResponse:getResponse,getStatusText:getStatusText,mockDispatch:mockDispatch,buildMockDispatch:buildMockDispatch,checkNetConnect:checkNetConnect,buildMockOptions:buildMockOptions,getHeaderByName:getHeaderByName}},6142:(e,t,A)=>{"use strict";const{Transform:s}=A(2203);const{Console:r}=A(4236);e.exports=class PendingInterceptorsFormatter{constructor({disableColors:e}={}){this.transform=new s({transform(e,t,A){A(null,e)}});this.logger=new r({stdout:this.transform,inspectOptions:{colors:!e&&!process.env.CI}})}format(e){const t=e.map((({method:e,path:t,data:{statusCode:A},persist:s,times:r,timesInvoked:o,origin:i})=>({Method:e,Origin:i,Path:t,"Status code":A,Persistent:s?"✅":"❌",Invocations:o,Remaining:s?Infinity:r-o})));this.logger.table(t);return this.transform.read().toString()}}},1529:e=>{"use strict";const t={pronoun:"it",is:"is",was:"was",this:"this"};const A={pronoun:"they",is:"are",was:"were",this:"these"};e.exports=class Pluralizer{constructor(e,t){this.singular=e;this.plural=t}pluralize(e){const s=e===1;const r=s?t:A;const o=s?this.singular:this.plural;return{...r,count:e,noun:o}}}},4869:e=>{"use strict";const t=2048;const A=t-1;class FixedCircularBuffer{constructor(){this.bottom=0;this.top=0;this.list=new Array(t);this.next=null}isEmpty(){return this.top===this.bottom}isFull(){return(this.top+1&A)===this.bottom}push(e){this.list[this.top]=e;this.top=this.top+1&A}shift(){const e=this.list[this.bottom];if(e===undefined)return null;this.list[this.bottom]=undefined;this.bottom=this.bottom+1&A;return e}}e.exports=class FixedQueue{constructor(){this.head=this.tail=new FixedCircularBuffer}isEmpty(){return this.head.isEmpty()}push(e){if(this.head.isFull()){this.head=this.head.next=new FixedCircularBuffer}this.head.push(e)}shift(){const e=this.tail;const t=e.shift();if(e.isEmpty()&&e.next!==null){this.tail=e.next}return t}}},8640:(e,t,A)=>{"use strict";const s=A(1);const r=A(4869);const{kConnected:o,kSize:i,kRunning:n,kPending:a,kQueued:c,kBusy:l,kFree:g,kUrl:h,kClose:u,kDestroy:E,kDispatch:d}=A(6443);const p=A(4622);const Q=Symbol("clients");const C=Symbol("needDrain");const B=Symbol("queue");const I=Symbol("closed resolve");const y=Symbol("onDrain");const w=Symbol("onConnect");const b=Symbol("onDisconnect");const k=Symbol("onConnectionError");const R=Symbol("get dispatcher");const D=Symbol("add client");const S=Symbol("remove client");const F=Symbol("stats");class PoolBase extends s{constructor(){super();this[B]=new r;this[Q]=[];this[c]=0;const e=this;this[y]=function onDrain(t,A){const s=e[B];let r=false;while(!r){const t=s.shift();if(!t){break}e[c]--;r=!this.dispatch(t.opts,t.handler)}this[C]=r;if(!this[C]&&e[C]){e[C]=false;e.emit("drain",t,[e,...A])}if(e[I]&&s.isEmpty()){Promise.all(e[Q].map((e=>e.close()))).then(e[I])}};this[w]=(t,A)=>{e.emit("connect",t,[e,...A])};this[b]=(t,A,s)=>{e.emit("disconnect",t,[e,...A],s)};this[k]=(t,A,s)=>{e.emit("connectionError",t,[e,...A],s)};this[F]=new p(this)}get[l](){return this[C]}get[o](){return this[Q].filter((e=>e[o])).length}get[g](){return this[Q].filter((e=>e[o]&&!e[C])).length}get[a](){let e=this[c];for(const{[a]:t}of this[Q]){e+=t}return e}get[n](){let e=0;for(const{[n]:t}of this[Q]){e+=t}return e}get[i](){let e=this[c];for(const{[i]:t}of this[Q]){e+=t}return e}get stats(){return this[F]}async[u](){if(this[B].isEmpty()){return Promise.all(this[Q].map((e=>e.close())))}else{return new Promise((e=>{this[I]=e}))}}async[E](e){while(true){const t=this[B].shift();if(!t){break}t.handler.onError(e)}return Promise.all(this[Q].map((t=>t.destroy(e))))}[d](e,t){const A=this[R]();if(!A){this[C]=true;this[B].push({opts:e,handler:t});this[c]++}else if(!A.dispatch(e,t)){A[C]=true;this[C]=!this[R]()}return!this[C]}[D](e){e.on("drain",this[y]).on("connect",this[w]).on("disconnect",this[b]).on("connectionError",this[k]);this[Q].push(e);if(this[C]){process.nextTick((()=>{if(this[C]){this[y](e[h],[this,e])}}))}return this}[S](e){e.close((()=>{const t=this[Q].indexOf(e);if(t!==-1){this[Q].splice(t,1)}}));this[C]=this[Q].some((e=>!e[C]&&e.closed!==true&&e.destroyed!==true))}}e.exports={PoolBase:PoolBase,kClients:Q,kNeedDrain:C,kAddClient:D,kRemoveClient:S,kGetDispatcher:R}},4622:(e,t,A)=>{const{kFree:s,kConnected:r,kPending:o,kQueued:i,kRunning:n,kSize:a}=A(6443);const c=Symbol("pool");class PoolStats{constructor(e){this[c]=e}get connected(){return this[c][r]}get free(){return this[c][s]}get pending(){return this[c][o]}get queued(){return this[c][i]}get running(){return this[c][n]}get size(){return this[c][a]}}e.exports=PoolStats},5076:(e,t,A)=>{"use strict";const{PoolBase:s,kClients:r,kNeedDrain:o,kAddClient:i,kGetDispatcher:n}=A(8640);const a=A(6197);const{InvalidArgumentError:c}=A(8707);const l=A(3440);const{kUrl:g,kInterceptors:h}=A(6443);const u=A(9136);const E=Symbol("options");const d=Symbol("connections");const p=Symbol("factory");function defaultFactory(e,t){return new a(e,t)}class Pool extends s{constructor(e,{connections:t,factory:A=defaultFactory,connect:s,connectTimeout:r,tls:o,maxCachedSessions:i,socketPath:n,autoSelectFamily:a,autoSelectFamilyAttemptTimeout:Q,allowH2:C,...B}={}){super();if(t!=null&&(!Number.isFinite(t)||t<0)){throw new c("invalid connections")}if(typeof A!=="function"){throw new c("factory must be a function.")}if(s!=null&&typeof s!=="function"&&typeof s!=="object"){throw new c("connect must be a function or an object")}if(typeof s!=="function"){s=u({...o,maxCachedSessions:i,allowH2:C,socketPath:n,timeout:r,...l.nodeHasAutoSelectFamily&&a?{autoSelectFamily:a,autoSelectFamilyAttemptTimeout:Q}:undefined,...s})}this[h]=B.interceptors&&B.interceptors.Pool&&Array.isArray(B.interceptors.Pool)?B.interceptors.Pool:[];this[d]=t||null;this[g]=l.parseOrigin(e);this[E]={...l.deepClone(B),connect:s,allowH2:C};this[E].interceptors=B.interceptors?{...B.interceptors}:undefined;this[p]=A}[n](){let e=this[r].find((e=>!e[o]));if(e){return e}if(!this[d]||this[r].length{"use strict";const{kProxy:s,kClose:r,kDestroy:o,kInterceptors:i}=A(6443);const{URL:n}=A(7016);const a=A(9965);const c=A(5076);const l=A(1);const{InvalidArgumentError:g,RequestAbortedError:h}=A(8707);const u=A(9136);const E=Symbol("proxy agent");const d=Symbol("proxy client");const p=Symbol("proxy headers");const Q=Symbol("request tls settings");const C=Symbol("proxy tls settings");const B=Symbol("connect endpoint function");function defaultProtocolPort(e){return e==="https:"?443:80}function buildProxyOptions(e){if(typeof e==="string"){e={uri:e}}if(!e||!e.uri){throw new g("Proxy opts.uri is mandatory")}return{uri:e.uri,protocol:e.protocol||"https"}}function defaultFactory(e,t){return new c(e,t)}class ProxyAgent extends l{constructor(e){super(e);this[s]=buildProxyOptions(e);this[E]=new a(e);this[i]=e.interceptors&&e.interceptors.ProxyAgent&&Array.isArray(e.interceptors.ProxyAgent)?e.interceptors.ProxyAgent:[];if(typeof e==="string"){e={uri:e}}if(!e||!e.uri){throw new g("Proxy opts.uri is mandatory")}const{clientFactory:t=defaultFactory}=e;if(typeof t!=="function"){throw new g("Proxy opts.clientFactory must be a function.")}this[Q]=e.requestTls;this[C]=e.proxyTls;this[p]=e.headers||{};const A=new n(e.uri);const{origin:r,port:o,host:c,username:l,password:I}=A;if(e.auth&&e.token){throw new g("opts.auth cannot be used in combination with opts.token")}else if(e.auth){this[p]["proxy-authorization"]=`Basic ${e.auth}`}else if(e.token){this[p]["proxy-authorization"]=e.token}else if(l&&I){this[p]["proxy-authorization"]=`Basic ${Buffer.from(`${decodeURIComponent(l)}:${decodeURIComponent(I)}`).toString("base64")}`}const y=u({...e.proxyTls});this[B]=u({...e.requestTls});this[d]=t(A,{connect:y});this[E]=new a({...e,connect:async(e,t)=>{let A=e.host;if(!e.port){A+=`:${defaultProtocolPort(e.protocol)}`}try{const{socket:s,statusCode:i}=await this[d].connect({origin:r,port:o,path:A,signal:e.signal,headers:{...this[p],host:c}});if(i!==200){s.on("error",(()=>{})).destroy();t(new h(`Proxy response (${i}) !== 200 when HTTP Tunneling`))}if(e.protocol!=="https:"){t(null,s);return}let n;if(this[Q]){n=this[Q].servername}else{n=e.servername}this[B]({...e,servername:n,httpSocket:s},t)}catch(e){t(e)}}})}dispatch(e,t){const{host:A}=new n(e.origin);const s=buildHeaders(e.headers);throwIfProxyAuthIsSent(s);return this[E].dispatch({...e,headers:{...s,host:A}},t)}async[r](){await this[E].close();await this[d].close()}async[o](){await this[E].destroy();await this[d].destroy()}}function buildHeaders(e){if(Array.isArray(e)){const t={};for(let A=0;Ae.toLowerCase()==="proxy-authorization"));if(t){throw new g("Proxy-Authorization should be sent in ProxyAgent constructor")}}e.exports=ProxyAgent},8804:e=>{"use strict";let t=Date.now();let A;const s=[];function onTimeout(){t=Date.now();let e=s.length;let A=0;while(A0&&t>=r.state){r.state=-1;r.callback(r.opaque)}if(r.state===-1){r.state=-2;if(A!==e-1){s[A]=s.pop()}else{s.pop()}e-=1}else{A+=1}}if(s.length>0){refreshTimeout()}}function refreshTimeout(){if(A&&A.refresh){A.refresh()}else{clearTimeout(A);A=setTimeout(onTimeout,1e3);if(A.unref){A.unref()}}}class Timeout{constructor(e,t,A){this.callback=e;this.delay=t;this.opaque=A;this.state=-2;this.refresh()}refresh(){if(this.state===-2){s.push(this);if(!A||s.length===1){refreshTimeout()}}this.state=0}clear(){this.state=-1}}e.exports={setTimeout(e,t,A){return t<1e3?setTimeout(e,t,A):new Timeout(e,t,A)},clearTimeout(e){if(e instanceof Timeout){e.clear()}else{clearTimeout(e)}}}},8550:(e,t,A)=>{"use strict";const s=A(1637);const{uid:r,states:o}=A(5913);const{kReadyState:i,kSentClose:n,kByteParser:a,kReceivedClose:c}=A(2933);const{fireEvent:l,failWebsocketConnection:g}=A(3574);const{CloseEvent:h}=A(6255);const{makeRequest:u}=A(5194);const{fetching:E}=A(2315);const{Headers:d}=A(6349);const{getGlobalDispatcher:p}=A(2581);const{kHeadersList:Q}=A(6443);const C={};C.open=s.channel("undici:websocket:open");C.close=s.channel("undici:websocket:close");C.socketError=s.channel("undici:websocket:socket_error");let B;try{B=A(6982)}catch{}function establishWebSocketConnection(e,t,A,s,o){const i=e;i.protocol=e.protocol==="ws:"?"http:":"https:";const n=u({urlList:[i],serviceWorkers:"none",referrer:"no-referrer",mode:"websocket",credentials:"include",cache:"no-store",redirect:"error"});if(o.headers){const e=new d(o.headers)[Q];n.headersList=e}const a=B.randomBytes(16).toString("base64");n.headersList.append("sec-websocket-key",a);n.headersList.append("sec-websocket-version","13");for(const e of t){n.headersList.append("sec-websocket-protocol",e)}const c="";const l=E({request:n,useParallelQueue:true,dispatcher:o.dispatcher??p(),processResponse(e){if(e.type==="error"||e.status!==101){g(A,"Received network error or non-101 status code.");return}if(t.length!==0&&!e.headersList.get("Sec-WebSocket-Protocol")){g(A,"Server did not respond with sent protocols.");return}if(e.headersList.get("Upgrade")?.toLowerCase()!=="websocket"){g(A,'Server did not set Upgrade header to "websocket".');return}if(e.headersList.get("Connection")?.toLowerCase()!=="upgrade"){g(A,'Server did not set Connection header to "upgrade".');return}const o=e.headersList.get("Sec-WebSocket-Accept");const i=B.createHash("sha1").update(a+r).digest("base64");if(o!==i){g(A,"Incorrect hash received in Sec-WebSocket-Accept header.");return}const l=e.headersList.get("Sec-WebSocket-Extensions");if(l!==null&&l!==c){g(A,"Received different permessage-deflate than the one set.");return}const h=e.headersList.get("Sec-WebSocket-Protocol");if(h!==null&&h!==n.headersList.get("Sec-WebSocket-Protocol")){g(A,"Protocol was not set in the opening handshake.");return}e.socket.on("data",onSocketData);e.socket.on("close",onSocketClose);e.socket.on("error",onSocketError);if(C.open.hasSubscribers){C.open.publish({address:e.socket.address(),protocol:h,extensions:l})}s(e)}});return l}function onSocketData(e){if(!this.ws[a].write(e)){this.pause()}}function onSocketClose(){const{ws:e}=this;const t=e[n]&&e[c];let A=1005;let s="";const r=e[a].closingInfo;if(r){A=r.code??1005;s=r.reason}else if(!e[n]){A=1006}e[i]=o.CLOSED;l("close",e,h,{wasClean:t,code:A,reason:s});if(C.close.hasSubscribers){C.close.publish({websocket:e,code:A,reason:s})}}function onSocketError(e){const{ws:t}=this;t[i]=o.CLOSING;if(C.socketError.hasSubscribers){C.socketError.publish(e)}this.destroy()}e.exports={establishWebSocketConnection:establishWebSocketConnection}},5913:e=>{"use strict";const t="258EAFA5-E914-47DA-95CA-C5AB0DC85B11";const A={enumerable:true,writable:false,configurable:false};const s={CONNECTING:0,OPEN:1,CLOSING:2,CLOSED:3};const r={CONTINUATION:0,TEXT:1,BINARY:2,CLOSE:8,PING:9,PONG:10};const o=2**16-1;const i={INFO:0,PAYLOADLENGTH_16:2,PAYLOADLENGTH_64:3,READ_DATA:4};const n=Buffer.allocUnsafe(0);e.exports={uid:t,staticPropertyDescriptors:A,states:s,opcodes:r,maxUnsigned16Bit:o,parserStates:i,emptyBuffer:n}},6255:(e,t,A)=>{"use strict";const{webidl:s}=A(4222);const{kEnumerableProperty:r}=A(3440);const{MessagePort:o}=A(8167);class MessageEvent extends Event{#o;constructor(e,t={}){s.argumentLengthCheck(arguments,1,{header:"MessageEvent constructor"});e=s.converters.DOMString(e);t=s.converters.MessageEventInit(t);super(e,t);this.#o=t}get data(){s.brandCheck(this,MessageEvent);return this.#o.data}get origin(){s.brandCheck(this,MessageEvent);return this.#o.origin}get lastEventId(){s.brandCheck(this,MessageEvent);return this.#o.lastEventId}get source(){s.brandCheck(this,MessageEvent);return this.#o.source}get ports(){s.brandCheck(this,MessageEvent);if(!Object.isFrozen(this.#o.ports)){Object.freeze(this.#o.ports)}return this.#o.ports}initMessageEvent(e,t=false,A=false,r=null,o="",i="",n=null,a=[]){s.brandCheck(this,MessageEvent);s.argumentLengthCheck(arguments,1,{header:"MessageEvent.initMessageEvent"});return new MessageEvent(e,{bubbles:t,cancelable:A,data:r,origin:o,lastEventId:i,source:n,ports:a})}}class CloseEvent extends Event{#o;constructor(e,t={}){s.argumentLengthCheck(arguments,1,{header:"CloseEvent constructor"});e=s.converters.DOMString(e);t=s.converters.CloseEventInit(t);super(e,t);this.#o=t}get wasClean(){s.brandCheck(this,CloseEvent);return this.#o.wasClean}get code(){s.brandCheck(this,CloseEvent);return this.#o.code}get reason(){s.brandCheck(this,CloseEvent);return this.#o.reason}}class ErrorEvent extends Event{#o;constructor(e,t){s.argumentLengthCheck(arguments,1,{header:"ErrorEvent constructor"});super(e,t);e=s.converters.DOMString(e);t=s.converters.ErrorEventInit(t??{});this.#o=t}get message(){s.brandCheck(this,ErrorEvent);return this.#o.message}get filename(){s.brandCheck(this,ErrorEvent);return this.#o.filename}get lineno(){s.brandCheck(this,ErrorEvent);return this.#o.lineno}get colno(){s.brandCheck(this,ErrorEvent);return this.#o.colno}get error(){s.brandCheck(this,ErrorEvent);return this.#o.error}}Object.defineProperties(MessageEvent.prototype,{[Symbol.toStringTag]:{value:"MessageEvent",configurable:true},data:r,origin:r,lastEventId:r,source:r,ports:r,initMessageEvent:r});Object.defineProperties(CloseEvent.prototype,{[Symbol.toStringTag]:{value:"CloseEvent",configurable:true},reason:r,code:r,wasClean:r});Object.defineProperties(ErrorEvent.prototype,{[Symbol.toStringTag]:{value:"ErrorEvent",configurable:true},message:r,filename:r,lineno:r,colno:r,error:r});s.converters.MessagePort=s.interfaceConverter(o);s.converters["sequence"]=s.sequenceConverter(s.converters.MessagePort);const i=[{key:"bubbles",converter:s.converters.boolean,defaultValue:false},{key:"cancelable",converter:s.converters.boolean,defaultValue:false},{key:"composed",converter:s.converters.boolean,defaultValue:false}];s.converters.MessageEventInit=s.dictionaryConverter([...i,{key:"data",converter:s.converters.any,defaultValue:null},{key:"origin",converter:s.converters.USVString,defaultValue:""},{key:"lastEventId",converter:s.converters.DOMString,defaultValue:""},{key:"source",converter:s.nullableConverter(s.converters.MessagePort),defaultValue:null},{key:"ports",converter:s.converters["sequence"],get defaultValue(){return[]}}]);s.converters.CloseEventInit=s.dictionaryConverter([...i,{key:"wasClean",converter:s.converters.boolean,defaultValue:false},{key:"code",converter:s.converters["unsigned short"],defaultValue:0},{key:"reason",converter:s.converters.USVString,defaultValue:""}]);s.converters.ErrorEventInit=s.dictionaryConverter([...i,{key:"message",converter:s.converters.DOMString,defaultValue:""},{key:"filename",converter:s.converters.USVString,defaultValue:""},{key:"lineno",converter:s.converters["unsigned long"],defaultValue:0},{key:"colno",converter:s.converters["unsigned long"],defaultValue:0},{key:"error",converter:s.converters.any}]);e.exports={MessageEvent:MessageEvent,CloseEvent:CloseEvent,ErrorEvent:ErrorEvent}},1237:(e,t,A)=>{"use strict";const{maxUnsigned16Bit:s}=A(5913);let r;try{r=A(6982)}catch{}class WebsocketFrameSend{constructor(e){this.frameData=e;this.maskKey=r.randomBytes(4)}createFrame(e){const t=this.frameData?.byteLength??0;let A=t;let r=6;if(t>s){r+=8;A=127}else if(t>125){r+=2;A=126}const o=Buffer.allocUnsafe(t+r);o[0]=o[1]=0;o[0]|=128;o[0]=(o[0]&240)+e; -/*! ws. MIT License. Einar Otto Stangvik */o[r-4]=this.maskKey[0];o[r-3]=this.maskKey[1];o[r-2]=this.maskKey[2];o[r-1]=this.maskKey[3];o[1]=A;if(A===126){o.writeUInt16BE(t,2)}else if(A===127){o[2]=o[3]=0;o.writeUIntBE(t,4,6)}o[1]|=128;for(let e=0;e{"use strict";const{Writable:s}=A(2203);const r=A(1637);const{parserStates:o,opcodes:i,states:n,emptyBuffer:a}=A(5913);const{kReadyState:c,kSentClose:l,kResponse:g,kReceivedClose:h}=A(2933);const{isValidStatusCode:u,failWebsocketConnection:E,websocketMessageReceived:d}=A(3574);const{WebsocketFrameSend:p}=A(1237);const Q={};Q.ping=r.channel("undici:websocket:ping");Q.pong=r.channel("undici:websocket:pong");class ByteParser extends s{#i=[];#n=0;#a=o.INFO;#c={};#l=[];constructor(e){super();this.ws=e}_write(e,t,A){this.#i.push(e);this.#n+=e.length;this.run(A)}run(e){while(true){if(this.#a===o.INFO){if(this.#n<2){return e()}const t=this.consume(2);this.#c.fin=(t[0]&128)!==0;this.#c.opcode=t[0]&15;this.#c.originalOpcode??=this.#c.opcode;this.#c.fragmented=!this.#c.fin&&this.#c.opcode!==i.CONTINUATION;if(this.#c.fragmented&&this.#c.opcode!==i.BINARY&&this.#c.opcode!==i.TEXT){E(this.ws,"Invalid frame type was fragmented.");return}const A=t[1]&127;if(A<=125){this.#c.payloadLength=A;this.#a=o.READ_DATA}else if(A===126){this.#a=o.PAYLOADLENGTH_16}else if(A===127){this.#a=o.PAYLOADLENGTH_64}if(this.#c.fragmented&&A>125){E(this.ws,"Fragmented frame exceeded 125 bytes.");return}else if((this.#c.opcode===i.PING||this.#c.opcode===i.PONG||this.#c.opcode===i.CLOSE)&&A>125){E(this.ws,"Payload length for control frame exceeded 125 bytes.");return}else if(this.#c.opcode===i.CLOSE){if(A===1){E(this.ws,"Received close frame with a 1-byte body.");return}const e=this.consume(A);this.#c.closeInfo=this.parseCloseBody(false,e);if(!this.ws[l]){const e=Buffer.allocUnsafe(2);e.writeUInt16BE(this.#c.closeInfo.code,0);const t=new p(e);this.ws[g].socket.write(t.createFrame(i.CLOSE),(e=>{if(!e){this.ws[l]=true}}))}this.ws[c]=n.CLOSING;this.ws[h]=true;this.end();return}else if(this.#c.opcode===i.PING){const t=this.consume(A);if(!this.ws[h]){const e=new p(t);this.ws[g].socket.write(e.createFrame(i.PONG));if(Q.ping.hasSubscribers){Q.ping.publish({payload:t})}}this.#a=o.INFO;if(this.#n>0){continue}else{e();return}}else if(this.#c.opcode===i.PONG){const t=this.consume(A);if(Q.pong.hasSubscribers){Q.pong.publish({payload:t})}if(this.#n>0){continue}else{e();return}}}else if(this.#a===o.PAYLOADLENGTH_16){if(this.#n<2){return e()}const t=this.consume(2);this.#c.payloadLength=t.readUInt16BE(0);this.#a=o.READ_DATA}else if(this.#a===o.PAYLOADLENGTH_64){if(this.#n<8){return e()}const t=this.consume(8);const A=t.readUInt32BE(0);if(A>2**31-1){E(this.ws,"Received payload length > 2^31 bytes.");return}const s=t.readUInt32BE(4);this.#c.payloadLength=(A<<8)+s;this.#a=o.READ_DATA}else if(this.#a===o.READ_DATA){if(this.#n=this.#c.payloadLength){const e=this.consume(this.#c.payloadLength);this.#l.push(e);if(!this.#c.fragmented||this.#c.fin&&this.#c.opcode===i.CONTINUATION){const e=Buffer.concat(this.#l);d(this.ws,this.#c.originalOpcode,e);this.#c={};this.#l.length=0}this.#a=o.INFO}}if(this.#n>0){continue}else{e();break}}}consume(e){if(e>this.#n){return null}else if(e===0){return a}if(this.#i[0].length===e){this.#n-=this.#i[0].length;return this.#i.shift()}const t=Buffer.allocUnsafe(e);let A=0;while(A!==e){const s=this.#i[0];const{length:r}=s;if(r+A===e){t.set(this.#i.shift(),A);break}else if(r+A>e){t.set(s.subarray(0,e-A),A);this.#i[0]=s.subarray(e-A);break}else{t.set(this.#i.shift(),A);A+=s.length}}this.#n-=e;return t}parseCloseBody(e,t){let A;if(t.length>=2){A=t.readUInt16BE(0)}if(e){if(!u(A)){return null}return{code:A}}let s=t.subarray(2);if(s[0]===239&&s[1]===187&&s[2]===191){s=s.subarray(3)}if(A!==undefined&&!u(A)){return null}try{s=new TextDecoder("utf-8",{fatal:true}).decode(s)}catch{return null}return{code:A,reason:s}}get closingInfo(){return this.#c.closeInfo}}e.exports={ByteParser:ByteParser}},2933:e=>{"use strict";e.exports={kWebSocketURL:Symbol("url"),kReadyState:Symbol("ready state"),kController:Symbol("controller"),kResponse:Symbol("response"),kBinaryType:Symbol("binary type"),kSentClose:Symbol("sent close"),kReceivedClose:Symbol("received close"),kByteParser:Symbol("byte parser")}},3574:(e,t,A)=>{"use strict";const{kReadyState:s,kController:r,kResponse:o,kBinaryType:i,kWebSocketURL:n}=A(2933);const{states:a,opcodes:c}=A(5913);const{MessageEvent:l,ErrorEvent:g}=A(6255);function isEstablished(e){return e[s]===a.OPEN}function isClosing(e){return e[s]===a.CLOSING}function isClosed(e){return e[s]===a.CLOSED}function fireEvent(e,t,A=Event,s){const r=new A(e,s);t.dispatchEvent(r)}function websocketMessageReceived(e,t,A){if(e[s]!==a.OPEN){return}let r;if(t===c.TEXT){try{r=new TextDecoder("utf-8",{fatal:true}).decode(A)}catch{failWebsocketConnection(e,"Received invalid UTF-8 in text frame.");return}}else if(t===c.BINARY){if(e[i]==="blob"){r=new Blob([A])}else{r=new Uint8Array(A).buffer}}fireEvent("message",e,l,{origin:e[n].origin,data:r})}function isValidSubprotocol(e){if(e.length===0){return false}for(const t of e){const e=t.charCodeAt(0);if(e<33||e>126||t==="("||t===")"||t==="<"||t===">"||t==="@"||t===","||t===";"||t===":"||t==="\\"||t==='"'||t==="/"||t==="["||t==="]"||t==="?"||t==="="||t==="{"||t==="}"||e===32||e===9){return false}}return true}function isValidStatusCode(e){if(e>=1e3&&e<1015){return e!==1004&&e!==1005&&e!==1006}return e>=3e3&&e<=4999}function failWebsocketConnection(e,t){const{[r]:A,[o]:s}=e;A.abort();if(s?.socket&&!s.socket.destroyed){s.socket.destroy()}if(t){fireEvent("error",e,g,{error:new Error(t)})}}e.exports={isEstablished:isEstablished,isClosing:isClosing,isClosed:isClosed,fireEvent:fireEvent,isValidSubprotocol:isValidSubprotocol,isValidStatusCode:isValidStatusCode,failWebsocketConnection:failWebsocketConnection,websocketMessageReceived:websocketMessageReceived}},5171:(e,t,A)=>{"use strict";const{webidl:s}=A(4222);const{DOMException:r}=A(7326);const{URLSerializer:o}=A(4322);const{getGlobalOrigin:i}=A(5628);const{staticPropertyDescriptors:n,states:a,opcodes:c,emptyBuffer:l}=A(5913);const{kWebSocketURL:g,kReadyState:h,kController:u,kBinaryType:E,kResponse:d,kSentClose:p,kByteParser:Q}=A(2933);const{isEstablished:C,isClosing:B,isValidSubprotocol:I,failWebsocketConnection:y,fireEvent:w}=A(3574);const{establishWebSocketConnection:b}=A(8550);const{WebsocketFrameSend:k}=A(1237);const{ByteParser:R}=A(3171);const{kEnumerableProperty:D,isBlobLike:S}=A(3440);const{getGlobalDispatcher:F}=A(2581);const{types:v}=A(9023);let T=false;class WebSocket extends EventTarget{#g={open:null,error:null,close:null,message:null};#h=0;#u="";#E="";constructor(e,t=[]){super();s.argumentLengthCheck(arguments,1,{header:"WebSocket constructor"});if(!T){T=true;process.emitWarning("WebSockets are experimental, expect them to change at any time.",{code:"UNDICI-WS"})}const A=s.converters["DOMString or sequence or WebSocketInit"](t);e=s.converters.USVString(e);t=A.protocols;const o=i();let n;try{n=new URL(e,o)}catch(e){throw new r(e,"SyntaxError")}if(n.protocol==="http:"){n.protocol="ws:"}else if(n.protocol==="https:"){n.protocol="wss:"}if(n.protocol!=="ws:"&&n.protocol!=="wss:"){throw new r(`Expected a ws: or wss: protocol, got ${n.protocol}`,"SyntaxError")}if(n.hash||n.href.endsWith("#")){throw new r("Got fragment","SyntaxError")}if(typeof t==="string"){t=[t]}if(t.length!==new Set(t.map((e=>e.toLowerCase()))).size){throw new r("Invalid Sec-WebSocket-Protocol value","SyntaxError")}if(t.length>0&&!t.every((e=>I(e)))){throw new r("Invalid Sec-WebSocket-Protocol value","SyntaxError")}this[g]=new URL(n.href);this[u]=b(n,t,this,(e=>this.#d(e)),A);this[h]=WebSocket.CONNECTING;this[E]="blob"}close(e=undefined,t=undefined){s.brandCheck(this,WebSocket);if(e!==undefined){e=s.converters["unsigned short"](e,{clamp:true})}if(t!==undefined){t=s.converters.USVString(t)}if(e!==undefined){if(e!==1e3&&(e<3e3||e>4999)){throw new r("invalid code","InvalidAccessError")}}let A=0;if(t!==undefined){A=Buffer.byteLength(t);if(A>123){throw new r(`Reason must be less than 123 bytes; received ${A}`,"SyntaxError")}}if(this[h]===WebSocket.CLOSING||this[h]===WebSocket.CLOSED){}else if(!C(this)){y(this,"Connection was closed before it was established.");this[h]=WebSocket.CLOSING}else if(!B(this)){const s=new k;if(e!==undefined&&t===undefined){s.frameData=Buffer.allocUnsafe(2);s.frameData.writeUInt16BE(e,0)}else if(e!==undefined&&t!==undefined){s.frameData=Buffer.allocUnsafe(2+A);s.frameData.writeUInt16BE(e,0);s.frameData.write(t,2,"utf-8")}else{s.frameData=l}const r=this[d].socket;r.write(s.createFrame(c.CLOSE),(e=>{if(!e){this[p]=true}}));this[h]=a.CLOSING}else{this[h]=WebSocket.CLOSING}}send(e){s.brandCheck(this,WebSocket);s.argumentLengthCheck(arguments,1,{header:"WebSocket.send"});e=s.converters.WebSocketSendData(e);if(this[h]===WebSocket.CONNECTING){throw new r("Sent before connected.","InvalidStateError")}if(!C(this)||B(this)){return}const t=this[d].socket;if(typeof e==="string"){const A=Buffer.from(e);const s=new k(A);const r=s.createFrame(c.TEXT);this.#h+=A.byteLength;t.write(r,(()=>{this.#h-=A.byteLength}))}else if(v.isArrayBuffer(e)){const A=Buffer.from(e);const s=new k(A);const r=s.createFrame(c.BINARY);this.#h+=A.byteLength;t.write(r,(()=>{this.#h-=A.byteLength}))}else if(ArrayBuffer.isView(e)){const A=Buffer.from(e,e.byteOffset,e.byteLength);const s=new k(A);const r=s.createFrame(c.BINARY);this.#h+=A.byteLength;t.write(r,(()=>{this.#h-=A.byteLength}))}else if(S(e)){const A=new k;e.arrayBuffer().then((e=>{const s=Buffer.from(e);A.frameData=s;const r=A.createFrame(c.BINARY);this.#h+=s.byteLength;t.write(r,(()=>{this.#h-=s.byteLength}))}))}}get readyState(){s.brandCheck(this,WebSocket);return this[h]}get bufferedAmount(){s.brandCheck(this,WebSocket);return this.#h}get url(){s.brandCheck(this,WebSocket);return o(this[g])}get extensions(){s.brandCheck(this,WebSocket);return this.#E}get protocol(){s.brandCheck(this,WebSocket);return this.#u}get onopen(){s.brandCheck(this,WebSocket);return this.#g.open}set onopen(e){s.brandCheck(this,WebSocket);if(this.#g.open){this.removeEventListener("open",this.#g.open)}if(typeof e==="function"){this.#g.open=e;this.addEventListener("open",e)}else{this.#g.open=null}}get onerror(){s.brandCheck(this,WebSocket);return this.#g.error}set onerror(e){s.brandCheck(this,WebSocket);if(this.#g.error){this.removeEventListener("error",this.#g.error)}if(typeof e==="function"){this.#g.error=e;this.addEventListener("error",e)}else{this.#g.error=null}}get onclose(){s.brandCheck(this,WebSocket);return this.#g.close}set onclose(e){s.brandCheck(this,WebSocket);if(this.#g.close){this.removeEventListener("close",this.#g.close)}if(typeof e==="function"){this.#g.close=e;this.addEventListener("close",e)}else{this.#g.close=null}}get onmessage(){s.brandCheck(this,WebSocket);return this.#g.message}set onmessage(e){s.brandCheck(this,WebSocket);if(this.#g.message){this.removeEventListener("message",this.#g.message)}if(typeof e==="function"){this.#g.message=e;this.addEventListener("message",e)}else{this.#g.message=null}}get binaryType(){s.brandCheck(this,WebSocket);return this[E]}set binaryType(e){s.brandCheck(this,WebSocket);if(e!=="blob"&&e!=="arraybuffer"){this[E]="blob"}else{this[E]=e}}#d(e){this[d]=e;const t=new R(this);t.on("drain",(function onParserDrain(){this.ws[d].socket.resume()}));e.socket.ws=this;this[Q]=t;this[h]=a.OPEN;const A=e.headersList.get("sec-websocket-extensions");if(A!==null){this.#E=A}const s=e.headersList.get("sec-websocket-protocol");if(s!==null){this.#u=s}w("open",this)}}WebSocket.CONNECTING=WebSocket.prototype.CONNECTING=a.CONNECTING;WebSocket.OPEN=WebSocket.prototype.OPEN=a.OPEN;WebSocket.CLOSING=WebSocket.prototype.CLOSING=a.CLOSING;WebSocket.CLOSED=WebSocket.prototype.CLOSED=a.CLOSED;Object.defineProperties(WebSocket.prototype,{CONNECTING:n,OPEN:n,CLOSING:n,CLOSED:n,url:D,readyState:D,bufferedAmount:D,onopen:D,onerror:D,onclose:D,close:D,onmessage:D,binaryType:D,send:D,extensions:D,protocol:D,[Symbol.toStringTag]:{value:"WebSocket",writable:false,enumerable:false,configurable:true}});Object.defineProperties(WebSocket,{CONNECTING:n,OPEN:n,CLOSING:n,CLOSED:n});s.converters["sequence"]=s.sequenceConverter(s.converters.DOMString);s.converters["DOMString or sequence"]=function(e){if(s.util.Type(e)==="Object"&&Symbol.iterator in e){return s.converters["sequence"](e)}return s.converters.DOMString(e)};s.converters.WebSocketInit=s.dictionaryConverter([{key:"protocols",converter:s.converters["DOMString or sequence"],get defaultValue(){return[]}},{key:"dispatcher",converter:e=>e,get defaultValue(){return F()}},{key:"headers",converter:s.nullableConverter(s.converters.HeadersInit)}]);s.converters["DOMString or sequence or WebSocketInit"]=function(e){if(s.util.Type(e)==="Object"&&!(Symbol.iterator in e)){return s.converters.WebSocketInit(e)}return{protocols:s.converters["DOMString or sequence"](e)}};s.converters.WebSocketSendData=function(e){if(s.util.Type(e)==="Object"){if(S(e)){return s.converters.Blob(e,{strict:false})}if(ArrayBuffer.isView(e)||v.isAnyArrayBuffer(e)){return s.converters.BufferSource(e)}}return s.converters.USVString(e)};e.exports={WebSocket:WebSocket}},3843:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});function getUserAgent(){if(typeof navigator==="object"&&"userAgent"in navigator){return navigator.userAgent}if(typeof process==="object"&&process.version!==undefined){return`Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`}return""}t.getUserAgent=getUserAgent},8264:e=>{e.exports=wrappy;function wrappy(e,t){if(e&&t)return wrappy(e)(t);if(typeof e!=="function")throw new TypeError("need wrapper function");Object.keys(e).forEach((function(t){wrapper[t]=e[t]}));return wrapper;function wrapper(){var t=new Array(arguments.length);for(var A=0;A({name:(0,a.basename)(e),mime:(0,t.mimeOrDefault)(e),size:(0,i.statSync)(e).size,data:(0,i.createReadStream)(e,"binary")});t.asset=asset;const mimeOrDefault=e=>(0,n.getType)(e)||"application/octet-stream";t.mimeOrDefault=mimeOrDefault;const upload=(e,A,r,i,n)=>s(void 0,void 0,void 0,(function*(){const[s,a]=e.github_repository.split("/");const{name:c,size:l,mime:g,data:h}=(0,t.asset)(i);const u=n.find((({name:e})=>e==(0,o.alignAssetName)(c)));if(u){console.log(`♻️ Deleting previously uploaded asset ${c}...`);yield A.rest.repos.deleteReleaseAsset({asset_id:u.id||1,owner:s,repo:a})}console.log(`⬆️ Uploading ${c}...`);const E=new URL(r);E.searchParams.append("name",c);const d=yield A.request({method:"POST",url:E.toString(),headers:{"content-length":`${l}`,"content-type":g,authorization:`token ${e.github_token}`},data:h});const p=d.data;if(d.status!==201){throw new Error(`Failed to upload release asset ${c}. received status code ${d.status}\n${p.message}\n${JSON.stringify(p.errors)}`)}return p}));t.upload=upload;const release=(e,t,...A)=>s(void 0,[e,t,...A],void 0,(function*(e,t,A=3){var s,i,n,a;if(A<=0){console.log(`❌ Too many retries. Aborting...`);throw new Error("Too many retries.")}const[c,l]=e.github_repository.split("/");const g=e.input_tag_name||((0,o.isTag)(e.github_ref)?e.github_ref.replace("refs/tags/",""):"");const h=e.input_discussion_category_name;const u=e.input_generate_release_notes;try{let Q=undefined;if(e.input_draft){try{for(var E=true,d=r(t.allReleases({owner:c,repo:l})),p;p=yield d.next(),s=p.done,!s;E=true){a=p.value;E=false;const e=a;Q=e.data.find((e=>e.tag_name===g))}}catch(e){i={error:e}}finally{try{if(!E&&!s&&(n=d.return))yield n.call(d)}finally{if(i)throw i.error}}}else{Q=(yield t.getReleaseByTag({owner:c,repo:l,tag:g})).data}if(Q===null||Q===undefined){return yield createRelease(g,e,t,c,l,h,u,A)}let C=Q;console.log(`Found release ${C.name} (with id=${C.id})`);const B=C.id;let I;if(e.input_target_commitish&&e.input_target_commitish!==C.target_commitish){console.log(`Updating commit from "${C.target_commitish}" to "${e.input_target_commitish}"`);I=e.input_target_commitish}else{I=C.target_commitish}const y=g;const w=e.input_name||C.name||g;const b=(0,o.releaseBody)(e)||"";const k=C.body||"";let R;if(e.input_append_body&&b&&k){R=k+"\n"+b}else{R=b||k}const D=e.input_draft!==undefined?e.input_draft:C.draft;const S=e.input_prerelease!==undefined?e.input_prerelease:C.prerelease;const F=e.input_make_latest;const v=yield t.updateRelease({owner:c,repo:l,release_id:B,tag_name:y,target_commitish:I,name:w,body:R,draft:D,prerelease:S,discussion_category_name:h,generate_release_notes:u,make_latest:F});return v.data}catch(s){if(s.status!==404){console.log(`⚠️ Unexpected error fetching GitHub release for tag ${e.github_ref}: ${s}`);throw s}return yield createRelease(g,e,t,c,l,h,u,A)}}));t.release=release;function createRelease(e,A,r,i,n,a,c,l){return s(this,void 0,void 0,(function*(){const s=e;const g=A.input_name||e;const h=(0,o.releaseBody)(A);const u=A.input_draft;const E=A.input_prerelease;const d=A.input_target_commitish;const p=A.input_make_latest;let Q="";if(d){Q=` using commit "${d}"`}console.log(`👩‍🏭 Creating new GitHub release for tag ${s}${Q}...`);try{let e=yield r.createRelease({owner:i,repo:n,tag_name:s,name:g,body:h,draft:u,prerelease:E,target_commitish:d,discussion_category_name:a,generate_release_notes:c,make_latest:p});return e.data}catch(e){console.log(`⚠️ GitHub release failed with status: ${e.status}`);console.log(`${JSON.stringify(e.response.data)}`);switch(e.status){case 403:console.log("Skip retry — your GitHub token/PAT does not have the required permission to create a release");throw e;case 404:console.log("Skip retry - discussion category mismatch");throw e;case 422:console.log("Skip retry - validation failed");throw e}console.log(`retrying... (${l-1} retries remaining)`);return(0,t.release)(A,r,l-1)}}))}},1730:function(e,t,A){"use strict";var s=this&&this.__awaiter||function(e,t,A,s){function adopt(e){return e instanceof A?e:new A((function(t){t(e)}))}return new(A||(A=Promise))((function(A,r){function fulfilled(e){try{step(s.next(e))}catch(e){r(e)}}function rejected(e){try{step(s["throw"](e))}catch(e){r(e)}}function step(e){e.done?A(e.value):adopt(e.value).then(fulfilled,rejected)}step((s=s.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:true});const r=A(4527);const o=A(9248);const i=A(3228);const n=A(7484);const a=A(932);function run(){return s(this,void 0,void 0,(function*(){try{const e=(0,r.parseConfig)(a.env);if(!e.input_tag_name&&!(0,r.isTag)(e.github_ref)&&!e.input_draft){throw new Error(`⚠️ GitHub Releases requires a tag`)}if(e.input_files){const t=(0,r.unmatchedPatterns)(e.input_files);t.forEach((t=>{if(e.input_fail_on_unmatched_files){throw new Error(`⚠️ Pattern '${t}' does not match any files.`)}else{console.warn(`🤔 Pattern '${t}' does not match any files.`)}}));if(t.length>0&&e.input_fail_on_unmatched_files){throw new Error(`⚠️ There were unmatched files`)}}const t=(0,i.getOctokit)(e.github_token,{throttle:{onRateLimit:(e,t)=>{console.warn(`Request quota exhausted for request ${t.method} ${t.url}`);if(t.request.retryCount===0){console.log(`Retrying after ${e} seconds!`);return true}},onAbuseLimit:(e,t)=>{console.warn(`Abuse detected for request ${t.method} ${t.url}`)}}});const A=yield(0,o.release)(e,new o.GitHubReleaser(t));if(e.input_files&&e.input_files.length>0){const i=(0,r.paths)(e.input_files);if(i.length==0){if(e.input_fail_on_unmatched_files){throw new Error(`⚠️ ${e.input_files} not include valid file.`)}else{console.warn(`🤔 ${e.input_files} not include valid file.`)}}const a=A.assets;const uploadFile=i=>s(this,void 0,void 0,(function*(){const s=yield(0,o.upload)(e,t,(0,r.uploadUrl)(A.upload_url),i,a);delete s.uploader;return s}));let c;if(!e.input_preserve_order){c=yield Promise.all(i.map(uploadFile))}else{c=[];for(const e of i){c.push(yield uploadFile(e))}}(0,n.setOutput)("assets",c)}console.log(`🎉 Release ready at ${A.html_url}`);(0,n.setOutput)("url",A.html_url);(0,n.setOutput)("id",A.id.toString());(0,n.setOutput)("upload_url",A.upload_url)}catch(e){(0,n.setFailed)(e.message)}}))}run()},4527:function(e,t,A){"use strict";var s=this&&this.__createBinding||(Object.create?function(e,t,A,s){if(s===undefined)s=A;var r=Object.getOwnPropertyDescriptor(t,A);if(!r||("get"in r?!t.__esModule:r.writable||r.configurable)){r={enumerable:true,get:function(){return t[A]}}}Object.defineProperty(e,s,r)}:function(e,t,A,s){if(s===undefined)s=A;e[s]=t[A]});var r=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var o=this&&this.__importStar||function(){var ownKeys=function(e){ownKeys=Object.getOwnPropertyNames||function(e){var t=[];for(var A in e)if(Object.prototype.hasOwnProperty.call(e,A))t[t.length]=A;return t};return ownKeys(e)};return function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var A=ownKeys(e),o=0;o{const t=e.indexOf("{");if(t>-1){return e.substring(0,t)}return e};t.uploadUrl=uploadUrl;const releaseBody=e=>e.input_body_path&&(0,n.readFileSync)(e.input_body_path).toString("utf8")||e.input_body;t.releaseBody=releaseBody;const parseInputFiles=e=>e.split(/\r?\n/).reduce(((e,t)=>e.concat(t.split(",")).filter((e=>e)).map((e=>e.trim()))),[]);t.parseInputFiles=parseInputFiles;const parseConfig=e=>{var A;return{github_token:e.GITHUB_TOKEN||e.INPUT_TOKEN||"",github_ref:e.GITHUB_REF||"",github_repository:e.INPUT_REPOSITORY||e.GITHUB_REPOSITORY||"",input_name:e.INPUT_NAME,input_tag_name:(A=e.INPUT_TAG_NAME)===null||A===void 0?void 0:A.trim(),input_body:e.INPUT_BODY,input_body_path:e.INPUT_BODY_PATH,input_files:(0,t.parseInputFiles)(e.INPUT_FILES||""),input_draft:e.INPUT_DRAFT?e.INPUT_DRAFT==="true":undefined,input_preserve_order:e.INPUT_PRESERVE_ORDER?e.INPUT_PRESERVE_ORDER=="true":undefined,input_prerelease:e.INPUT_PRERELEASE?e.INPUT_PRERELEASE=="true":undefined,input_fail_on_unmatched_files:e.INPUT_FAIL_ON_UNMATCHED_FILES=="true",input_target_commitish:e.INPUT_TARGET_COMMITISH||undefined,input_discussion_category_name:e.INPUT_DISCUSSION_CATEGORY_NAME||undefined,input_generate_release_notes:e.INPUT_GENERATE_RELEASE_NOTES=="true",input_append_body:e.INPUT_APPEND_BODY=="true",input_make_latest:parseMakeLatest(e.INPUT_MAKE_LATEST)}};t.parseConfig=parseConfig;const parseMakeLatest=e=>{if(e==="true"||e==="false"||e==="legacy"){return e}return undefined};const paths=e=>e.reduce(((e,t)=>e.concat(i.sync(t).filter((e=>(0,n.statSync)(e).isFile())))),[]);t.paths=paths;const unmatchedPatterns=e=>e.reduce(((e,t)=>e.concat(i.sync(t).filter((e=>(0,n.statSync)(e).isFile())).length==0?[t]:[])),[]);t.unmatchedPatterns=unmatchedPatterns;const isTag=e=>e.startsWith("refs/tags/");t.isTag=isTag;const alignAssetName=e=>e.replace(/ /g,".");t.alignAssetName=alignAssetName},2613:e=>{"use strict";e.exports=require("assert")},290:e=>{"use strict";e.exports=require("async_hooks")},181:e=>{"use strict";e.exports=require("buffer")},5317:e=>{"use strict";e.exports=require("child_process")},4236:e=>{"use strict";e.exports=require("console")},6982:e=>{"use strict";e.exports=require("crypto")},1637:e=>{"use strict";e.exports=require("diagnostics_channel")},4434:e=>{"use strict";e.exports=require("events")},9896:e=>{"use strict";e.exports=require("fs")},8611:e=>{"use strict";e.exports=require("http")},5675:e=>{"use strict";e.exports=require("http2")},5692:e=>{"use strict";e.exports=require("https")},9278:e=>{"use strict";e.exports=require("net")},8474:e=>{"use strict";e.exports=require("node:events")},3024:e=>{"use strict";e.exports=require("node:fs")},1455:e=>{"use strict";e.exports=require("node:fs/promises")},6760:e=>{"use strict";e.exports=require("node:path")},7075:e=>{"use strict";e.exports=require("node:stream")},6193:e=>{"use strict";e.exports=require("node:string_decoder")},3136:e=>{"use strict";e.exports=require("node:url")},7975:e=>{"use strict";e.exports=require("node:util")},857:e=>{"use strict";e.exports=require("os")},6928:e=>{"use strict";e.exports=require("path")},2987:e=>{"use strict";e.exports=require("perf_hooks")},932:e=>{"use strict";e.exports=require("process")},3480:e=>{"use strict";e.exports=require("querystring")},2203:e=>{"use strict";e.exports=require("stream")},3774:e=>{"use strict";e.exports=require("stream/web")},3193:e=>{"use strict";e.exports=require("string_decoder")},3557:e=>{"use strict";e.exports=require("timers")},4756:e=>{"use strict";e.exports=require("tls")},7016:e=>{"use strict";e.exports=require("url")},9023:e=>{"use strict";e.exports=require("util")},8253:e=>{"use strict";e.exports=require("util/types")},8167:e=>{"use strict";e.exports=require("worker_threads")},3106:e=>{"use strict";e.exports=require("zlib")},7182:(e,t,A)=>{"use strict";const s=A(7075).Writable;const r=A(7975).inherits;const o=A(4136);const i=A(612);const n=A(2271);const a=45;const c=Buffer.from("-");const l=Buffer.from("\r\n");const EMPTY_FN=function(){};function Dicer(e){if(!(this instanceof Dicer)){return new Dicer(e)}s.call(this,e);if(!e||!e.headerFirst&&typeof e.boundary!=="string"){throw new TypeError("Boundary required")}if(typeof e.boundary==="string"){this.setBoundary(e.boundary)}else{this._bparser=undefined}this._headerFirst=e.headerFirst;this._dashes=0;this._parts=0;this._finished=false;this._realFinish=false;this._isPreamble=true;this._justMatched=false;this._firstWrite=true;this._inHeader=true;this._part=undefined;this._cb=undefined;this._ignoreData=false;this._partOpts={highWaterMark:e.partHwm};this._pause=false;const t=this;this._hparser=new n(e);this._hparser.on("header",(function(e){t._inHeader=false;t._part.emit("header",e)}))}r(Dicer,s);Dicer.prototype.emit=function(e){if(e==="finish"&&!this._realFinish){if(!this._finished){const e=this;process.nextTick((function(){e.emit("error",new Error("Unexpected end of multipart data"));if(e._part&&!e._ignoreData){const t=e._isPreamble?"Preamble":"Part";e._part.emit("error",new Error(t+" terminated early due to unexpected end of multipart data"));e._part.push(null);process.nextTick((function(){e._realFinish=true;e.emit("finish");e._realFinish=false}));return}e._realFinish=true;e.emit("finish");e._realFinish=false}))}}else{s.prototype.emit.apply(this,arguments)}};Dicer.prototype._write=function(e,t,A){if(!this._hparser&&!this._bparser){return A()}if(this._headerFirst&&this._isPreamble){if(!this._part){this._part=new i(this._partOpts);if(this.listenerCount("preamble")!==0){this.emit("preamble",this._part)}else{this._ignore()}}const t=this._hparser.push(e);if(!this._inHeader&&t!==undefined&&t{"use strict";const s=A(8474).EventEmitter;const r=A(7975).inherits;const o=A(2393);const i=A(4136);const n=Buffer.from("\r\n\r\n");const a=/\r\n/g;const c=/^([^:]+):[ \t]?([\x00-\xFF]+)?$/;function HeaderParser(e){s.call(this);e=e||{};const t=this;this.nread=0;this.maxed=false;this.npairs=0;this.maxHeaderPairs=o(e,"maxHeaderPairs",2e3);this.maxHeaderSize=o(e,"maxHeaderSize",80*1024);this.buffer="";this.header={};this.finished=false;this.ss=new i(n);this.ss.on("info",(function(e,A,s,r){if(A&&!t.maxed){if(t.nread+r-s>=t.maxHeaderSize){r=t.maxHeaderSize-t.nread+s;t.nread=t.maxHeaderSize;t.maxed=true}else{t.nread+=r-s}t.buffer+=A.toString("binary",s,r)}if(e){t._finish()}}))}r(HeaderParser,s);HeaderParser.prototype.push=function(e){const t=this.ss.push(e);if(this.finished){return t}};HeaderParser.prototype.reset=function(){this.finished=false;this.buffer="";this.header={};this.ss.reset()};HeaderParser.prototype._finish=function(){if(this.buffer){this._parseHeader()}this.ss.matches=this.ss.maxMatches;const e=this.header;this.header={};this.buffer="";this.finished=true;this.nread=this.npairs=0;this.maxed=false;this.emit("header",e)};HeaderParser.prototype._parseHeader=function(){if(this.npairs===this.maxHeaderPairs){return}const e=this.buffer.split(a);const t=e.length;let A,s;for(var r=0;r{"use strict";const s=A(7975).inherits;const r=A(7075).Readable;function PartStream(e){r.call(this,e)}s(PartStream,r);PartStream.prototype._read=function(e){};e.exports=PartStream},4136:(e,t,A)=>{"use strict";const s=A(8474).EventEmitter;const r=A(7975).inherits;function SBMH(e){if(typeof e==="string"){e=Buffer.from(e)}if(!Buffer.isBuffer(e)){throw new TypeError("The needle has to be a String or a Buffer.")}const t=e.length;if(t===0){throw new Error("The needle cannot be an empty String/Buffer.")}if(t>256){throw new Error("The needle cannot have a length bigger than 256.")}this.maxMatches=Infinity;this.matches=0;this._occ=new Array(256).fill(t);this._lookbehind_size=0;this._needle=e;this._bufpos=0;this._lookbehind=Buffer.alloc(t);for(var A=0;A=0){this.emit("info",false,this._lookbehind,0,this._lookbehind_size);this._lookbehind_size=0}else{const A=this._lookbehind_size+o;if(A>0){this.emit("info",false,this._lookbehind,0,A)}this._lookbehind.copy(this._lookbehind,0,A,this._lookbehind_size-A);this._lookbehind_size-=A;e.copy(this._lookbehind,this._lookbehind_size);this._lookbehind_size+=t;this._bufpos=t;return t}}o+=(o>=0)*this._bufpos;if(e.indexOf(A,o)!==-1){o=e.indexOf(A,o);++this.matches;if(o>0){this.emit("info",true,e,this._bufpos,o)}else{this.emit("info",true)}return this._bufpos=o+s}else{o=t-s}while(o0){this.emit("info",false,e,this._bufpos,o{"use strict";const s=A(7075).Writable;const{inherits:r}=A(7975);const o=A(7182);const i=A(1192);const n=A(855);const a=A(8929);function Busboy(e){if(!(this instanceof Busboy)){return new Busboy(e)}if(typeof e!=="object"){throw new TypeError("Busboy expected an options-Object.")}if(typeof e.headers!=="object"){throw new TypeError("Busboy expected an options-Object with headers-attribute.")}if(typeof e.headers["content-type"]!=="string"){throw new TypeError("Missing Content-Type-header.")}const{headers:t,...A}=e;this.opts={autoDestroy:false,...A};s.call(this,this.opts);this._done=false;this._parser=this.getParserByHeaders(t);this._finished=false}r(Busboy,s);Busboy.prototype.emit=function(e){if(e==="finish"){if(!this._done){this._parser?.end();return}else if(this._finished){return}this._finished=true}s.prototype.emit.apply(this,arguments)};Busboy.prototype.getParserByHeaders=function(e){const t=a(e["content-type"]);const A={defCharset:this.opts.defCharset,fileHwm:this.opts.fileHwm,headers:e,highWaterMark:this.opts.highWaterMark,isPartAFile:this.opts.isPartAFile,limits:this.opts.limits,parsedConType:t,preservePath:this.opts.preservePath};if(i.detect.test(t[0])){return new i(this,A)}if(n.detect.test(t[0])){return new n(this,A)}throw new Error("Unsupported Content-Type.")};Busboy.prototype._write=function(e,t,A){this._parser.write(e,A)};e.exports=Busboy;e.exports["default"]=Busboy;e.exports.Busboy=Busboy;e.exports.Dicer=o},1192:(e,t,A)=>{"use strict";const{Readable:s}=A(7075);const{inherits:r}=A(7975);const o=A(7182);const i=A(8929);const n=A(2747);const a=A(692);const c=A(2393);const l=/^boundary$/i;const g=/^form-data$/i;const h=/^charset$/i;const u=/^filename$/i;const E=/^name$/i;Multipart.detect=/^multipart\/form-data/i;function Multipart(e,t){let A;let s;const r=this;let d;const p=t.limits;const Q=t.isPartAFile||((e,t,A)=>t==="application/octet-stream"||A!==undefined);const C=t.parsedConType||[];const B=t.defCharset||"utf8";const I=t.preservePath;const y={highWaterMark:t.fileHwm};for(A=0,s=C.length;AD){r.parser.removeListener("part",onPart);r.parser.on("part",skipPart);e.hitPartsLimit=true;e.emit("partsLimit");return skipPart(t)}if(L){const e=L;e.emit("end");e.removeAllListeners("end")}t.on("header",(function(o){let c;let l;let d;let p;let C;let D;let S=0;if(o["content-type"]){d=i(o["content-type"][0]);if(d[0]){c=d[0].toLowerCase();for(A=0,s=d.length;Ab){const s=b-S+e.length;if(s>0){A.push(e.slice(0,s))}A.truncated=true;A.bytesRead=b;t.removeAllListeners("data");A.emit("limit");return}else if(!A.push(e)){r._pause=true}A.bytesRead=S};G=function(){U=undefined;A.push(null)}}else{if(T===R){if(!e.hitFieldsLimit){e.hitFieldsLimit=true;e.emit("fieldsLimit")}return skipPart(t)}++T;++N;let A="";let s=false;L=t;F=function(e){if((S+=e.length)>w){const r=w-(S-e.length);A+=e.toString("binary",0,r);s=true;t.removeAllListeners("data")}else{A+=e.toString("binary")}};G=function(){L=undefined;if(A.length){A=n(A,"binary",p)}e.emit("field",l,A,false,s,C,c);--N;checkFinished()}}t._readableState.sync=false;t.on("data",F);t.on("end",G)})).on("error",(function(e){if(U){U.emit("error",e)}}))})).on("error",(function(t){e.emit("error",t)})).on("finish",(function(){G=true;checkFinished()}))}Multipart.prototype.write=function(e,t){const A=this.parser.write(e);if(A&&!this._pause){t()}else{this._needDrain=!A;this._cb=t}};Multipart.prototype.end=function(){const e=this;if(e.parser.writable){e.parser.end()}else if(!e._boy._done){process.nextTick((function(){e._boy._done=true;e._boy.emit("finish")}))}};function skipPart(e){e.resume()}function FileStream(e){s.call(this,e);this.bytesRead=0;this.truncated=false}r(FileStream,s);FileStream.prototype._read=function(e){};e.exports=Multipart},855:(e,t,A)=>{"use strict";const s=A(1496);const r=A(2747);const o=A(2393);const i=/^charset$/i;UrlEncoded.detect=/^application\/x-www-form-urlencoded/i;function UrlEncoded(e,t){const A=t.limits;const r=t.parsedConType;this.boy=e;this.fieldSizeLimit=o(A,"fieldSize",1*1024*1024);this.fieldNameSizeLimit=o(A,"fieldNameSize",100);this.fieldsLimit=o(A,"fields",Infinity);let n;for(var a=0,c=r.length;ai){this._key+=this.decoder.write(e.toString("binary",i,A))}this._state="val";this._hitLimit=false;this._checkingBytes=true;this._val="";this._bytesVal=0;this._valTrunc=false;this.decoder.reset();i=A+1}else if(s!==undefined){++this._fields;let A;const o=this._keyTrunc;if(s>i){A=this._key+=this.decoder.write(e.toString("binary",i,s))}else{A=this._key}this._hitLimit=false;this._checkingBytes=true;this._key="";this._bytesKey=0;this._keyTrunc=false;this.decoder.reset();if(A.length){this.boy.emit("field",r(A,"binary",this.charset),"",o,false)}i=s+1;if(this._fields===this.fieldsLimit){return t()}}else if(this._hitLimit){if(o>i){this._key+=this.decoder.write(e.toString("binary",i,o))}i=o;if((this._bytesKey=this._key.length)===this.fieldNameSizeLimit){this._checkingBytes=false;this._keyTrunc=true}}else{if(ii){this._val+=this.decoder.write(e.toString("binary",i,s))}this.boy.emit("field",r(this._key,"binary",this.charset),r(this._val,"binary",this.charset),this._keyTrunc,this._valTrunc);this._state="key";this._hitLimit=false;this._checkingBytes=true;this._key="";this._bytesKey=0;this._keyTrunc=false;this.decoder.reset();i=s+1;if(this._fields===this.fieldsLimit){return t()}}else if(this._hitLimit){if(o>i){this._val+=this.decoder.write(e.toString("binary",i,o))}i=o;if(this._val===""&&this.fieldSizeLimit===0||(this._bytesVal=this._val.length)===this.fieldSizeLimit){this._checkingBytes=false;this._valTrunc=true}}else{if(i0){this.boy.emit("field",r(this._key,"binary",this.charset),"",this._keyTrunc,false)}else if(this._state==="val"){this.boy.emit("field",r(this._key,"binary",this.charset),r(this._val,"binary",this.charset),this._keyTrunc,this._valTrunc)}this.boy._done=true;this.boy.emit("finish")};e.exports=UrlEncoded},1496:e=>{"use strict";const t=/\+/g;const A=[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,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,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,1,1,1,1,1,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];function Decoder(){this.buffer=undefined}Decoder.prototype.write=function(e){e=e.replace(t," ");let s="";let r=0;let o=0;const i=e.length;for(;ro){s+=e.substring(o,r);o=r}this.buffer="";++o}}if(o{"use strict";e.exports=function basename(e){if(typeof e!=="string"){return""}for(var t=e.length-1;t>=0;--t){switch(e.charCodeAt(t)){case 47:case 92:e=e.slice(t+1);return e===".."||e==="."?"":e}}return e===".."||e==="."?"":e}},2747:function(e){"use strict";const t=new TextDecoder("utf-8");const A=new Map([["utf-8",t],["utf8",t]]);function getDecoder(e){let t;while(true){switch(e){case"utf-8":case"utf8":return s.utf8;case"latin1":case"ascii":case"us-ascii":case"iso-8859-1":case"iso8859-1":case"iso88591":case"iso_8859-1":case"windows-1252":case"iso_8859-1:1987":case"cp1252":case"x-cp1252":return s.latin1;case"utf16le":case"utf-16le":case"ucs2":case"ucs-2":return s.utf16le;case"base64":return s.base64;default:if(t===undefined){t=true;e=e.toLowerCase();continue}return s.other.bind(e)}}}const s={utf8:(e,t)=>{if(e.length===0){return""}if(typeof e==="string"){e=Buffer.from(e,t)}return e.utf8Slice(0,e.length)},latin1:(e,t)=>{if(e.length===0){return""}if(typeof e==="string"){return e}return e.latin1Slice(0,e.length)},utf16le:(e,t)=>{if(e.length===0){return""}if(typeof e==="string"){e=Buffer.from(e,t)}return e.ucs2Slice(0,e.length)},base64:(e,t)=>{if(e.length===0){return""}if(typeof e==="string"){e=Buffer.from(e,t)}return e.base64Slice(0,e.length)},other:(e,t)=>{if(e.length===0){return""}if(typeof e==="string"){e=Buffer.from(e,t)}if(A.has(this.toString())){try{return A.get(this).decode(e)}catch{}}return typeof e==="string"?e:e.toString()}};function decodeText(e,t,A){if(e){return getDecoder(A)(e,t)}return e}e.exports=decodeText},2393:e=>{"use strict";e.exports=function getLimit(e,t,A){if(!e||e[t]===undefined||e[t]===null){return A}if(typeof e[t]!=="number"||isNaN(e[t])){throw new TypeError("Limit "+t+" is not a valid number")}return e[t]}},8929:(e,t,A)=>{"use strict";const s=A(2747);const r=/%[a-fA-F0-9][a-fA-F0-9]/g;const o={"%00":"\0","%01":"","%02":"","%03":"","%04":"","%05":"","%06":"","%07":"","%08":"\b","%09":"\t","%0a":"\n","%0A":"\n","%0b":"\v","%0B":"\v","%0c":"\f","%0C":"\f","%0d":"\r","%0D":"\r","%0e":"","%0E":"","%0f":"","%0F":"","%10":"","%11":"","%12":"","%13":"","%14":"","%15":"","%16":"","%17":"","%18":"","%19":"","%1a":"","%1A":"","%1b":"","%1B":"","%1c":"","%1C":"","%1d":"","%1D":"","%1e":"","%1E":"","%1f":"","%1F":"","%20":" ","%21":"!","%22":'"',"%23":"#","%24":"$","%25":"%","%26":"&","%27":"'","%28":"(","%29":")","%2a":"*","%2A":"*","%2b":"+","%2B":"+","%2c":",","%2C":",","%2d":"-","%2D":"-","%2e":".","%2E":".","%2f":"/","%2F":"/","%30":"0","%31":"1","%32":"2","%33":"3","%34":"4","%35":"5","%36":"6","%37":"7","%38":"8","%39":"9","%3a":":","%3A":":","%3b":";","%3B":";","%3c":"<","%3C":"<","%3d":"=","%3D":"=","%3e":">","%3E":">","%3f":"?","%3F":"?","%40":"@","%41":"A","%42":"B","%43":"C","%44":"D","%45":"E","%46":"F","%47":"G","%48":"H","%49":"I","%4a":"J","%4A":"J","%4b":"K","%4B":"K","%4c":"L","%4C":"L","%4d":"M","%4D":"M","%4e":"N","%4E":"N","%4f":"O","%4F":"O","%50":"P","%51":"Q","%52":"R","%53":"S","%54":"T","%55":"U","%56":"V","%57":"W","%58":"X","%59":"Y","%5a":"Z","%5A":"Z","%5b":"[","%5B":"[","%5c":"\\","%5C":"\\","%5d":"]","%5D":"]","%5e":"^","%5E":"^","%5f":"_","%5F":"_","%60":"`","%61":"a","%62":"b","%63":"c","%64":"d","%65":"e","%66":"f","%67":"g","%68":"h","%69":"i","%6a":"j","%6A":"j","%6b":"k","%6B":"k","%6c":"l","%6C":"l","%6d":"m","%6D":"m","%6e":"n","%6E":"n","%6f":"o","%6F":"o","%70":"p","%71":"q","%72":"r","%73":"s","%74":"t","%75":"u","%76":"v","%77":"w","%78":"x","%79":"y","%7a":"z","%7A":"z","%7b":"{","%7B":"{","%7c":"|","%7C":"|","%7d":"}","%7D":"}","%7e":"~","%7E":"~","%7f":"","%7F":"","%80":"€","%81":"","%82":"‚","%83":"ƒ","%84":"„","%85":"…","%86":"†","%87":"‡","%88":"ˆ","%89":"‰","%8a":"Š","%8A":"Š","%8b":"‹","%8B":"‹","%8c":"Œ","%8C":"Œ","%8d":"","%8D":"","%8e":"Ž","%8E":"Ž","%8f":"","%8F":"","%90":"","%91":"‘","%92":"’","%93":"“","%94":"”","%95":"•","%96":"–","%97":"—","%98":"˜","%99":"™","%9a":"š","%9A":"š","%9b":"›","%9B":"›","%9c":"œ","%9C":"œ","%9d":"","%9D":"","%9e":"ž","%9E":"ž","%9f":"Ÿ","%9F":"Ÿ","%a0":" ","%A0":" ","%a1":"¡","%A1":"¡","%a2":"¢","%A2":"¢","%a3":"£","%A3":"£","%a4":"¤","%A4":"¤","%a5":"¥","%A5":"¥","%a6":"¦","%A6":"¦","%a7":"§","%A7":"§","%a8":"¨","%A8":"¨","%a9":"©","%A9":"©","%aa":"ª","%Aa":"ª","%aA":"ª","%AA":"ª","%ab":"«","%Ab":"«","%aB":"«","%AB":"«","%ac":"¬","%Ac":"¬","%aC":"¬","%AC":"¬","%ad":"­","%Ad":"­","%aD":"­","%AD":"­","%ae":"®","%Ae":"®","%aE":"®","%AE":"®","%af":"¯","%Af":"¯","%aF":"¯","%AF":"¯","%b0":"°","%B0":"°","%b1":"±","%B1":"±","%b2":"²","%B2":"²","%b3":"³","%B3":"³","%b4":"´","%B4":"´","%b5":"µ","%B5":"µ","%b6":"¶","%B6":"¶","%b7":"·","%B7":"·","%b8":"¸","%B8":"¸","%b9":"¹","%B9":"¹","%ba":"º","%Ba":"º","%bA":"º","%BA":"º","%bb":"»","%Bb":"»","%bB":"»","%BB":"»","%bc":"¼","%Bc":"¼","%bC":"¼","%BC":"¼","%bd":"½","%Bd":"½","%bD":"½","%BD":"½","%be":"¾","%Be":"¾","%bE":"¾","%BE":"¾","%bf":"¿","%Bf":"¿","%bF":"¿","%BF":"¿","%c0":"À","%C0":"À","%c1":"Á","%C1":"Á","%c2":"Â","%C2":"Â","%c3":"Ã","%C3":"Ã","%c4":"Ä","%C4":"Ä","%c5":"Å","%C5":"Å","%c6":"Æ","%C6":"Æ","%c7":"Ç","%C7":"Ç","%c8":"È","%C8":"È","%c9":"É","%C9":"É","%ca":"Ê","%Ca":"Ê","%cA":"Ê","%CA":"Ê","%cb":"Ë","%Cb":"Ë","%cB":"Ë","%CB":"Ë","%cc":"Ì","%Cc":"Ì","%cC":"Ì","%CC":"Ì","%cd":"Í","%Cd":"Í","%cD":"Í","%CD":"Í","%ce":"Î","%Ce":"Î","%cE":"Î","%CE":"Î","%cf":"Ï","%Cf":"Ï","%cF":"Ï","%CF":"Ï","%d0":"Ð","%D0":"Ð","%d1":"Ñ","%D1":"Ñ","%d2":"Ò","%D2":"Ò","%d3":"Ó","%D3":"Ó","%d4":"Ô","%D4":"Ô","%d5":"Õ","%D5":"Õ","%d6":"Ö","%D6":"Ö","%d7":"×","%D7":"×","%d8":"Ø","%D8":"Ø","%d9":"Ù","%D9":"Ù","%da":"Ú","%Da":"Ú","%dA":"Ú","%DA":"Ú","%db":"Û","%Db":"Û","%dB":"Û","%DB":"Û","%dc":"Ü","%Dc":"Ü","%dC":"Ü","%DC":"Ü","%dd":"Ý","%Dd":"Ý","%dD":"Ý","%DD":"Ý","%de":"Þ","%De":"Þ","%dE":"Þ","%DE":"Þ","%df":"ß","%Df":"ß","%dF":"ß","%DF":"ß","%e0":"à","%E0":"à","%e1":"á","%E1":"á","%e2":"â","%E2":"â","%e3":"ã","%E3":"ã","%e4":"ä","%E4":"ä","%e5":"å","%E5":"å","%e6":"æ","%E6":"æ","%e7":"ç","%E7":"ç","%e8":"è","%E8":"è","%e9":"é","%E9":"é","%ea":"ê","%Ea":"ê","%eA":"ê","%EA":"ê","%eb":"ë","%Eb":"ë","%eB":"ë","%EB":"ë","%ec":"ì","%Ec":"ì","%eC":"ì","%EC":"ì","%ed":"í","%Ed":"í","%eD":"í","%ED":"í","%ee":"î","%Ee":"î","%eE":"î","%EE":"î","%ef":"ï","%Ef":"ï","%eF":"ï","%EF":"ï","%f0":"ð","%F0":"ð","%f1":"ñ","%F1":"ñ","%f2":"ò","%F2":"ò","%f3":"ó","%F3":"ó","%f4":"ô","%F4":"ô","%f5":"õ","%F5":"õ","%f6":"ö","%F6":"ö","%f7":"÷","%F7":"÷","%f8":"ø","%F8":"ø","%f9":"ù","%F9":"ù","%fa":"ú","%Fa":"ú","%fA":"ú","%FA":"ú","%fb":"û","%Fb":"û","%fB":"û","%FB":"û","%fc":"ü","%Fc":"ü","%fC":"ü","%FC":"ü","%fd":"ý","%Fd":"ý","%fD":"ý","%FD":"ý","%fe":"þ","%Fe":"þ","%fE":"þ","%FE":"þ","%ff":"ÿ","%Ff":"ÿ","%fF":"ÿ","%FF":"ÿ"};function encodedReplacer(e){return o[e]}const i=0;const n=1;const a=2;const c=3;function parseParams(e){const t=[];let A=i;let o="";let l=false;let g=false;let h=0;let u="";const E=e.length;for(var d=0;d{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.Glob=void 0;const s=A(6507);const r=A(3136);const o=A(6577);const i=A(7813);const n=A(1157);const a=typeof process==="object"&&process&&typeof process.platform==="string"?process.platform:"linux";class Glob{absolute;cwd;root;dot;dotRelative;follow;ignore;magicalBraces;mark;matchBase;maxDepth;nobrace;nocase;nodir;noext;noglobstar;pattern;platform;realpath;scurry;stat;signal;windowsPathsNoEscape;withFileTypes;includeChildMatches;opts;patterns;constructor(e,t){if(!t)throw new TypeError("glob options required");this.withFileTypes=!!t.withFileTypes;this.signal=t.signal;this.follow=!!t.follow;this.dot=!!t.dot;this.dotRelative=!!t.dotRelative;this.nodir=!!t.nodir;this.mark=!!t.mark;if(!t.cwd){this.cwd=""}else if(t.cwd instanceof URL||t.cwd.startsWith("file://")){t.cwd=(0,r.fileURLToPath)(t.cwd)}this.cwd=t.cwd||"";this.root=t.root;this.magicalBraces=!!t.magicalBraces;this.nobrace=!!t.nobrace;this.noext=!!t.noext;this.realpath=!!t.realpath;this.absolute=t.absolute;this.includeChildMatches=t.includeChildMatches!==false;this.noglobstar=!!t.noglobstar;this.matchBase=!!t.matchBase;this.maxDepth=typeof t.maxDepth==="number"?t.maxDepth:Infinity;this.stat=!!t.stat;this.ignore=t.ignore;if(this.withFileTypes&&this.absolute!==undefined){throw new Error("cannot set absolute and withFileTypes:true")}if(typeof e==="string"){e=[e]}this.windowsPathsNoEscape=!!t.windowsPathsNoEscape||t.allowWindowsEscape===false;if(this.windowsPathsNoEscape){e=e.map((e=>e.replace(/\\/g,"/")))}if(this.matchBase){if(t.noglobstar){throw new TypeError("base matching requires globstar")}e=e.map((e=>e.includes("/")?e:`./**/${e}`))}this.pattern=e;this.platform=t.platform||a;this.opts={...t,platform:this.platform};if(t.scurry){this.scurry=t.scurry;if(t.nocase!==undefined&&t.nocase!==t.scurry.nocase){throw new Error("nocase option contradicts provided scurry option")}}else{const e=t.platform==="win32"?o.PathScurryWin32:t.platform==="darwin"?o.PathScurryDarwin:t.platform?o.PathScurryPosix:o.PathScurry;this.scurry=new e(this.cwd,{nocase:t.nocase,fs:t.fs})}this.nocase=this.scurry.nocase;const A=this.platform==="darwin"||this.platform==="win32";const n={...t,dot:this.dot,matchBase:this.matchBase,nobrace:this.nobrace,nocase:this.nocase,nocaseMagicOnly:A,nocomment:true,noext:this.noext,nonegate:true,optimizationLevel:2,platform:this.platform,windowsPathsNoEscape:this.windowsPathsNoEscape,debug:!!this.opts.debug};const c=this.pattern.map((e=>new s.Minimatch(e,n)));const[l,g]=c.reduce(((e,t)=>{e[0].push(...t.set);e[1].push(...t.globParts);return e}),[[],[]]);this.patterns=l.map(((e,t)=>{const A=g[t];if(!A)throw new Error("invalid pattern object");return new i.Pattern(e,A,0,this.platform)}))}async walk(){return[...await new n.GlobWalker(this.patterns,this.scurry.cwd,{...this.opts,maxDepth:this.maxDepth!==Infinity?this.maxDepth+this.scurry.cwd.depth():Infinity,platform:this.platform,nocase:this.nocase,includeChildMatches:this.includeChildMatches}).walk()]}walkSync(){return[...new n.GlobWalker(this.patterns,this.scurry.cwd,{...this.opts,maxDepth:this.maxDepth!==Infinity?this.maxDepth+this.scurry.cwd.depth():Infinity,platform:this.platform,nocase:this.nocase,includeChildMatches:this.includeChildMatches}).walkSync()]}stream(){return new n.GlobStream(this.patterns,this.scurry.cwd,{...this.opts,maxDepth:this.maxDepth!==Infinity?this.maxDepth+this.scurry.cwd.depth():Infinity,platform:this.platform,nocase:this.nocase,includeChildMatches:this.includeChildMatches}).stream()}streamSync(){return new n.GlobStream(this.patterns,this.scurry.cwd,{...this.opts,maxDepth:this.maxDepth!==Infinity?this.maxDepth+this.scurry.cwd.depth():Infinity,platform:this.platform,nocase:this.nocase,includeChildMatches:this.includeChildMatches}).streamSync()}iterateSync(){return this.streamSync()[Symbol.iterator]()}[Symbol.iterator](){return this.iterateSync()}iterate(){return this.stream()[Symbol.asyncIterator]()}[Symbol.asyncIterator](){return this.iterate()}}t.Glob=Glob},5197:(e,t,A)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.hasMagic=void 0;const s=A(6507);const hasMagic=(e,t={})=>{if(!Array.isArray(e)){e=[e]}for(const A of e){if(new s.Minimatch(A,t).hasMagic())return true}return false};t.hasMagic=hasMagic},5637:(e,t,A)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.Ignore=void 0;const s=A(6507);const r=A(7813);const o=typeof process==="object"&&process&&typeof process.platform==="string"?process.platform:"linux";class Ignore{relative;relativeChildren;absolute;absoluteChildren;platform;mmopts;constructor(e,{nobrace:t,nocase:A,noext:s,noglobstar:r,platform:i=o}){this.relative=[];this.absolute=[];this.relativeChildren=[];this.absoluteChildren=[];this.platform=i;this.mmopts={dot:true,nobrace:t,nocase:A,noext:s,noglobstar:r,optimizationLevel:2,platform:i,nocomment:true,nonegate:true};for(const t of e)this.add(t)}add(e){const t=new s.Minimatch(e,this.mmopts);for(let e=0;e{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.glob=t.sync=t.iterate=t.iterateSync=t.stream=t.streamSync=t.Ignore=t.hasMagic=t.Glob=t.unescape=t.escape=void 0;t.globStreamSync=globStreamSync;t.globStream=globStream;t.globSync=globSync;t.globIterateSync=globIterateSync;t.globIterate=globIterate;const s=A(6507);const r=A(2981);const o=A(5197);var i=A(6507);Object.defineProperty(t,"escape",{enumerable:true,get:function(){return i.escape}});Object.defineProperty(t,"unescape",{enumerable:true,get:function(){return i.unescape}});var n=A(2981);Object.defineProperty(t,"Glob",{enumerable:true,get:function(){return n.Glob}});var a=A(5197);Object.defineProperty(t,"hasMagic",{enumerable:true,get:function(){return a.hasMagic}});var c=A(5637);Object.defineProperty(t,"Ignore",{enumerable:true,get:function(){return c.Ignore}});function globStreamSync(e,t={}){return new r.Glob(e,t).streamSync()}function globStream(e,t={}){return new r.Glob(e,t).stream()}function globSync(e,t={}){return new r.Glob(e,t).walkSync()}async function glob_(e,t={}){return new r.Glob(e,t).walk()}function globIterateSync(e,t={}){return new r.Glob(e,t).iterateSync()}function globIterate(e,t={}){return new r.Glob(e,t).iterate()}t.streamSync=globStreamSync;t.stream=Object.assign(globStream,{sync:globStreamSync});t.iterateSync=globIterateSync;t.iterate=Object.assign(globIterate,{sync:globIterateSync});t.sync=Object.assign(globSync,{stream:globStreamSync,iterate:globIterateSync});t.glob=Object.assign(glob_,{glob:glob_,globSync:globSync,sync:t.sync,globStream:globStream,stream:t.stream,globStreamSync:globStreamSync,streamSync:t.streamSync,globIterate:globIterate,iterate:t.iterate,globIterateSync:globIterateSync,iterateSync:t.iterateSync,Glob:r.Glob,hasMagic:o.hasMagic,escape:s.escape,unescape:s.unescape});t.glob.glob=t.glob},7813:(e,t,A)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.Pattern=void 0;const s=A(6507);const isPatternList=e=>e.length>=1;const isGlobList=e=>e.length>=1;class Pattern{#p;#Q;#C;length;#B;#f;#I;#m;#y;#w;#b=true;constructor(e,t,A,s){if(!isPatternList(e)){throw new TypeError("empty pattern list")}if(!isGlobList(t)){throw new TypeError("empty glob list")}if(t.length!==e.length){throw new TypeError("mismatched pattern list and glob list lengths")}this.length=e.length;if(A<0||A>=this.length){throw new TypeError("index out of range")}this.#p=e;this.#Q=t;this.#C=A;this.#B=s;if(this.#C===0){if(this.isUNC()){const[e,t,A,s,...r]=this.#p;const[o,i,n,a,...c]=this.#Q;if(r[0]===""){r.shift();c.shift()}const l=[e,t,A,s,""].join("/");const g=[o,i,n,a,""].join("/");this.#p=[l,...r];this.#Q=[g,...c];this.length=this.#p.length}else if(this.isDrive()||this.isAbsolute()){const[e,...t]=this.#p;const[A,...s]=this.#Q;if(t[0]===""){t.shift();s.shift()}const r=e+"/";const o=A+"/";this.#p=[r,...t];this.#Q=[o,...s];this.length=this.#p.length}}}pattern(){return this.#p[this.#C]}isString(){return typeof this.#p[this.#C]==="string"}isGlobstar(){return this.#p[this.#C]===s.GLOBSTAR}isRegExp(){return this.#p[this.#C]instanceof RegExp}globString(){return this.#I=this.#I||(this.#C===0?this.isAbsolute()?this.#Q[0]+this.#Q.slice(1).join("/"):this.#Q.join("/"):this.#Q.slice(this.#C).join("/"))}hasMore(){return this.length>this.#C+1}rest(){if(this.#f!==undefined)return this.#f;if(!this.hasMore())return this.#f=null;this.#f=new Pattern(this.#p,this.#Q,this.#C+1,this.#B);this.#f.#w=this.#w;this.#f.#y=this.#y;this.#f.#m=this.#m;return this.#f}isUNC(){const e=this.#p;return this.#y!==undefined?this.#y:this.#y=this.#B==="win32"&&this.#C===0&&e[0]===""&&e[1]===""&&typeof e[2]==="string"&&!!e[2]&&typeof e[3]==="string"&&!!e[3]}isDrive(){const e=this.#p;return this.#m!==undefined?this.#m:this.#m=this.#B==="win32"&&this.#C===0&&this.length>1&&typeof e[0]==="string"&&/^[a-z]:$/i.test(e[0])}isAbsolute(){const e=this.#p;return this.#w!==undefined?this.#w:this.#w=e[0]===""&&e.length>1||this.isDrive()||this.isUNC()}root(){const e=this.#p[0];return typeof e==="string"&&this.isAbsolute()&&this.#C===0?e:""}checkFollowGlobstar(){return!(this.#C===0||!this.isGlobstar()||!this.#b)}markFollowGlobstar(){if(this.#C===0||!this.isGlobstar()||!this.#b)return false;this.#b=false;return true}}t.Pattern=Pattern},7843:(e,t,A)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.Processor=t.SubWalks=t.MatchRecord=t.HasWalkedCache=void 0;const s=A(6507);class HasWalkedCache{store;constructor(e=new Map){this.store=e}copy(){return new HasWalkedCache(new Map(this.store))}hasWalked(e,t){return this.store.get(e.fullpath())?.has(t.globString())}storeWalked(e,t){const A=e.fullpath();const s=this.store.get(A);if(s)s.add(t.globString());else this.store.set(A,new Set([t.globString()]))}}t.HasWalkedCache=HasWalkedCache;class MatchRecord{store=new Map;add(e,t,A){const s=(t?2:0)|(A?1:0);const r=this.store.get(e);this.store.set(e,r===undefined?s:s&r)}entries(){return[...this.store.entries()].map((([e,t])=>[e,!!(t&2),!!(t&1)]))}}t.MatchRecord=MatchRecord;class SubWalks{store=new Map;add(e,t){if(!e.canReaddir()){return}const A=this.store.get(e);if(A){if(!A.find((e=>e.globString()===t.globString()))){A.push(t)}}else this.store.set(e,[t])}get(e){const t=this.store.get(e);if(!t){throw new Error("attempting to walk unknown path")}return t}entries(){return this.keys().map((e=>[e,this.store.get(e)]))}keys(){return[...this.store.keys()].filter((e=>e.canReaddir()))}}t.SubWalks=SubWalks;class Processor{hasWalkedCache;matches=new MatchRecord;subwalks=new SubWalks;patterns;follow;dot;opts;constructor(e,t){this.opts=e;this.follow=!!e.follow;this.dot=!!e.dot;this.hasWalkedCache=t?t.copy():new HasWalkedCache}processPatterns(e,t){this.patterns=t;const A=t.map((t=>[e,t]));for(let[e,t]of A){this.hasWalkedCache.storeWalked(e,t);const A=t.root();const r=t.isAbsolute()&&this.opts.absolute!==false;if(A){e=e.resolve(A==="/"&&this.opts.root!==undefined?this.opts.root:A);const s=t.rest();if(!s){this.matches.add(e,true,false);continue}else{t=s}}if(e.isENOENT())continue;let o;let i;let n=false;while(typeof(o=t.pattern())==="string"&&(i=t.rest())){const A=e.resolve(o);e=A;t=i;n=true}o=t.pattern();i=t.rest();if(n){if(this.hasWalkedCache.hasWalked(e,t))continue;this.hasWalkedCache.storeWalked(e,t)}if(typeof o==="string"){const t=o===".."||o===""||o===".";this.matches.add(e.resolve(o),r,t);continue}else if(o===s.GLOBSTAR){if(!e.isSymbolicLink()||this.follow||t.checkFollowGlobstar()){this.subwalks.add(e,t)}const A=i?.pattern();const s=i?.rest();if(!i||(A===""||A===".")&&!s){this.matches.add(e,r,A===""||A===".")}else{if(A===".."){const t=e.parent||e;if(!s)this.matches.add(t,r,true);else if(!this.hasWalkedCache.hasWalked(t,s)){this.subwalks.add(t,s)}}}}else if(o instanceof RegExp){this.subwalks.add(e,t)}}return this}subwalkTargets(){return this.subwalks.keys()}child(){return new Processor(this.opts,this.hasWalkedCache)}filterEntries(e,t){const A=this.subwalks.get(e);const r=this.child();for(const e of t){for(const t of A){const A=t.isAbsolute();const o=t.pattern();const i=t.rest();if(o===s.GLOBSTAR){r.testGlobstar(e,t,i,A)}else if(o instanceof RegExp){r.testRegExp(e,o,i,A)}else{r.testString(e,o,i,A)}}}return r}testGlobstar(e,t,A,s){if(this.dot||!e.name.startsWith(".")){if(!t.hasMore()){this.matches.add(e,s,false)}if(e.canReaddir()){if(this.follow||!e.isSymbolicLink()){this.subwalks.add(e,t)}else if(e.isSymbolicLink()){if(A&&t.checkFollowGlobstar()){this.subwalks.add(e,A)}else if(t.markFollowGlobstar()){this.subwalks.add(e,t)}}}}if(A){const t=A.pattern();if(typeof t==="string"&&t!==".."&&t!==""&&t!=="."){this.testString(e,t,A.rest(),s)}else if(t===".."){const t=e.parent||e;this.subwalks.add(t,A)}else if(t instanceof RegExp){this.testRegExp(e,t,A.rest(),s)}}}testRegExp(e,t,A,s){if(!t.test(e.name))return;if(!A){this.matches.add(e,s,false)}else{this.subwalks.add(e,A)}}testString(e,t,A,s){if(!e.isNamed(t))return;if(!A){this.matches.add(e,s,false)}else{this.subwalks.add(e,A)}}}t.Processor=Processor},1157:(e,t,A)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.GlobStream=t.GlobWalker=t.GlobUtil=void 0;const s=A(8275);const r=A(5637);const o=A(7843);const makeIgnore=(e,t)=>typeof e==="string"?new r.Ignore([e],t):Array.isArray(e)?new r.Ignore(e,t):e;class GlobUtil{path;patterns;opts;seen=new Set;paused=false;aborted=false;#k=[];#R;#D;signal;maxDepth;includeChildMatches;constructor(e,t,A){this.patterns=e;this.path=t;this.opts=A;this.#D=!A.posix&&A.platform==="win32"?"\\":"/";this.includeChildMatches=A.includeChildMatches!==false;if(A.ignore||!this.includeChildMatches){this.#R=makeIgnore(A.ignore??[],A);if(!this.includeChildMatches&&typeof this.#R.add!=="function"){const e="cannot ignore child matches, ignore lacks add() method.";throw new Error(e)}}this.maxDepth=A.maxDepth||Infinity;if(A.signal){this.signal=A.signal;this.signal.addEventListener("abort",(()=>{this.#k.length=0}))}}#S(e){return this.seen.has(e)||!!this.#R?.ignored?.(e)}#F(e){return!!this.#R?.childrenIgnored?.(e)}pause(){this.paused=true}resume(){if(this.signal?.aborted)return;this.paused=false;let e=undefined;while(!this.paused&&(e=this.#k.shift())){e()}}onResume(e){if(this.signal?.aborted)return;if(!this.paused){e()}else{this.#k.push(e)}}async matchCheck(e,t){if(t&&this.opts.nodir)return undefined;let A;if(this.opts.realpath){A=e.realpathCached()||await e.realpath();if(!A)return undefined;e=A}const s=e.isUnknown()||this.opts.stat;const r=s?await e.lstat():e;if(this.opts.follow&&this.opts.nodir&&r?.isSymbolicLink()){const e=await r.realpath();if(e&&(e.isUnknown()||this.opts.stat)){await e.lstat()}}return this.matchCheckTest(r,t)}matchCheckTest(e,t){return e&&(this.maxDepth===Infinity||e.depth()<=this.maxDepth)&&(!t||e.canReaddir())&&(!this.opts.nodir||!e.isDirectory())&&(!this.opts.nodir||!this.opts.follow||!e.isSymbolicLink()||!e.realpathCached()?.isDirectory())&&!this.#S(e)?e:undefined}matchCheckSync(e,t){if(t&&this.opts.nodir)return undefined;let A;if(this.opts.realpath){A=e.realpathCached()||e.realpathSync();if(!A)return undefined;e=A}const s=e.isUnknown()||this.opts.stat;const r=s?e.lstatSync():e;if(this.opts.follow&&this.opts.nodir&&r?.isSymbolicLink()){const e=r.realpathSync();if(e&&(e?.isUnknown()||this.opts.stat)){e.lstatSync()}}return this.matchCheckTest(r,t)}matchFinish(e,t){if(this.#S(e))return;if(!this.includeChildMatches&&this.#R?.add){const t=`${e.relativePosix()}/**`;this.#R.add(t)}const A=this.opts.absolute===undefined?t:this.opts.absolute;this.seen.add(e);const s=this.opts.mark&&e.isDirectory()?this.#D:"";if(this.opts.withFileTypes){this.matchEmit(e)}else if(A){const t=this.opts.posix?e.fullpathPosix():e.fullpath();this.matchEmit(t+s)}else{const t=this.opts.posix?e.relativePosix():e.relative();const A=this.opts.dotRelative&&!t.startsWith(".."+this.#D)?"."+this.#D:"";this.matchEmit(!t?"."+s:A+t+s)}}async match(e,t,A){const s=await this.matchCheck(e,A);if(s)this.matchFinish(s,t)}matchSync(e,t,A){const s=this.matchCheckSync(e,A);if(s)this.matchFinish(s,t)}walkCB(e,t,A){if(this.signal?.aborted)A();this.walkCB2(e,t,new o.Processor(this.opts),A)}walkCB2(e,t,A,s){if(this.#F(e))return s();if(this.signal?.aborted)s();if(this.paused){this.onResume((()=>this.walkCB2(e,t,A,s)));return}A.processPatterns(e,t);let r=1;const next=()=>{if(--r===0)s()};for(const[e,t,s]of A.matches.entries()){if(this.#S(e))continue;r++;this.match(e,t,s).then((()=>next()))}for(const e of A.subwalkTargets()){if(this.maxDepth!==Infinity&&e.depth()>=this.maxDepth){continue}r++;const t=e.readdirCached();if(e.calledReaddir())this.walkCB3(e,t,A,next);else{e.readdirCB(((t,s)=>this.walkCB3(e,s,A,next)),true)}}next()}walkCB3(e,t,A,s){A=A.filterEntries(e,t);let r=1;const next=()=>{if(--r===0)s()};for(const[e,t,s]of A.matches.entries()){if(this.#S(e))continue;r++;this.match(e,t,s).then((()=>next()))}for(const[e,t]of A.subwalks.entries()){r++;this.walkCB2(e,t,A.child(),next)}next()}walkCBSync(e,t,A){if(this.signal?.aborted)A();this.walkCB2Sync(e,t,new o.Processor(this.opts),A)}walkCB2Sync(e,t,A,s){if(this.#F(e))return s();if(this.signal?.aborted)s();if(this.paused){this.onResume((()=>this.walkCB2Sync(e,t,A,s)));return}A.processPatterns(e,t);let r=1;const next=()=>{if(--r===0)s()};for(const[e,t,s]of A.matches.entries()){if(this.#S(e))continue;this.matchSync(e,t,s)}for(const e of A.subwalkTargets()){if(this.maxDepth!==Infinity&&e.depth()>=this.maxDepth){continue}r++;const t=e.readdirSync();this.walkCB3Sync(e,t,A,next)}next()}walkCB3Sync(e,t,A,s){A=A.filterEntries(e,t);let r=1;const next=()=>{if(--r===0)s()};for(const[e,t,s]of A.matches.entries()){if(this.#S(e))continue;this.matchSync(e,t,s)}for(const[e,t]of A.subwalks.entries()){r++;this.walkCB2Sync(e,t,A.child(),next)}next()}}t.GlobUtil=GlobUtil;class GlobWalker extends GlobUtil{matches=new Set;constructor(e,t,A){super(e,t,A)}matchEmit(e){this.matches.add(e)}async walk(){if(this.signal?.aborted)throw this.signal.reason;if(this.path.isUnknown()){await this.path.lstat()}await new Promise(((e,t)=>{this.walkCB(this.path,this.patterns,(()=>{if(this.signal?.aborted){t(this.signal.reason)}else{e(this.matches)}}))}));return this.matches}walkSync(){if(this.signal?.aborted)throw this.signal.reason;if(this.path.isUnknown()){this.path.lstatSync()}this.walkCBSync(this.path,this.patterns,(()=>{if(this.signal?.aborted)throw this.signal.reason}));return this.matches}}t.GlobWalker=GlobWalker;class GlobStream extends GlobUtil{results;constructor(e,t,A){super(e,t,A);this.results=new s.Minipass({signal:this.signal,objectMode:true});this.results.on("drain",(()=>this.resume()));this.results.on("resume",(()=>this.resume()))}matchEmit(e){this.results.write(e);if(!this.results.flowing)this.pause()}stream(){const e=this.path;if(e.isUnknown()){e.lstat().then((()=>{this.walkCB(e,this.patterns,(()=>this.results.end()))}))}else{this.walkCB(e,this.patterns,(()=>this.results.end()))}return this.results}streamSync(){if(this.path.isUnknown()){this.path.lstatSync()}this.walkCBSync(this.path,this.patterns,(()=>this.results.end()));return this.results}}t.GlobStream=GlobStream},7305:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.assertValidPattern=void 0;const A=1024*64;const assertValidPattern=e=>{if(typeof e!=="string"){throw new TypeError("invalid pattern")}if(e.length>A){throw new TypeError("pattern is too long")}};t.assertValidPattern=assertValidPattern},1803:(e,t,A)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.AST=void 0;const s=A(1090);const r=A(851);const o=new Set(["!","?","+","*","@"]);const isExtglobType=e=>o.has(e);const i="(?!(?:^|/)\\.\\.?(?:$|/))";const n="(?!\\.)";const a=new Set(["[","."]);const c=new Set(["..","."]);const l=new Set("().*{}+?[]^$\\!");const regExpEscape=e=>e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&");const g="[^/]";const h=g+"*?";const u=g+"+?";class AST{type;#v;#T;#N=false;#U=[];#L;#G;#x;#M=false;#_;#P;#O=false;constructor(e,t,A={}){this.type=e;if(e)this.#T=true;this.#L=t;this.#v=this.#L?this.#L.#v:this;this.#_=this.#v===this?A:this.#v.#_;this.#x=this.#v===this?[]:this.#v.#x;if(e==="!"&&!this.#v.#M)this.#x.push(this);this.#G=this.#L?this.#L.#U.length:0}get hasMagic(){if(this.#T!==undefined)return this.#T;for(const e of this.#U){if(typeof e==="string")continue;if(e.type||e.hasMagic)return this.#T=true}return this.#T}toString(){if(this.#P!==undefined)return this.#P;if(!this.type){return this.#P=this.#U.map((e=>String(e))).join("")}else{return this.#P=this.type+"("+this.#U.map((e=>String(e))).join("|")+")"}}#H(){if(this!==this.#v)throw new Error("should only call on root");if(this.#M)return this;this.toString();this.#M=true;let e;while(e=this.#x.pop()){if(e.type!=="!")continue;let t=e;let A=t.#L;while(A){for(let s=t.#G+1;!A.type&&stypeof e==="string"?e:e.toJSON())):[this.type,...this.#U.map((e=>e.toJSON()))];if(this.isStart()&&!this.type)e.unshift([]);if(this.isEnd()&&(this===this.#v||this.#v.#M&&this.#L?.type==="!")){e.push({})}return e}isStart(){if(this.#v===this)return true;if(!this.#L?.isStart())return false;if(this.#G===0)return true;const e=this.#L;for(let t=0;t{const[s,r,o,i]=typeof t==="string"?AST.#J(t,this.#T,A):t.toRegExpSource(e);this.#T=this.#T||o;this.#N=this.#N||i;return s})).join("");let o="";if(this.isStart()){if(typeof this.#U[0]==="string"){const A=this.#U.length===1&&c.has(this.#U[0]);if(!A){const A=a;const r=t&&A.has(s.charAt(0))||s.startsWith("\\.")&&A.has(s.charAt(2))||s.startsWith("\\.\\.")&&A.has(s.charAt(4));const c=!t&&!e&&A.has(s.charAt(0));o=r?i:c?n:""}}}let l="";if(this.isEnd()&&this.#v.#M&&this.#L?.type==="!"){l="(?:$|\\/)"}const g=o+s+l;return[g,(0,r.unescape)(s),this.#T=!!this.#T,this.#N]}const A=this.type==="*"||this.type==="+";const s=this.type==="!"?"(?:(?!(?:":"(?:";let o=this.#V(t);if(this.isStart()&&this.isEnd()&&!o&&this.type!=="!"){const e=this.toString();this.#U=[e];this.type=null;this.#T=undefined;return[e,(0,r.unescape)(this.toString()),false,false]}let l=!A||e||t||!n?"":this.#V(true);if(l===o){l=""}if(l){o=`(?:${o})(?:${l})*?`}let g="";if(this.type==="!"&&this.#O){g=(this.isStart()&&!t?n:"")+u}else{const A=this.type==="!"?"))"+(this.isStart()&&!t&&!e?n:"")+h+")":this.type==="@"?")":this.type==="?"?")?":this.type==="+"&&l?")":this.type==="*"&&l?`)?`:`)${this.type}`;g=s+o+A}return[g,(0,r.unescape)(o),this.#T=!!this.#T,this.#N]}#V(e){return this.#U.map((t=>{if(typeof t==="string"){throw new Error("string type in extglob ast??")}const[A,s,r,o]=t.toRegExpSource(e);this.#N=this.#N||o;return A})).filter((e=>!(this.isStart()&&this.isEnd())||!!e)).join("|")}static#J(e,t,A=false){let o=false;let i="";let n=false;for(let r=0;r{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.parseClass=void 0;const A={"[:alnum:]":["\\p{L}\\p{Nl}\\p{Nd}",true],"[:alpha:]":["\\p{L}\\p{Nl}",true],"[:ascii:]":["\\x"+"00-\\x"+"7f",false],"[:blank:]":["\\p{Zs}\\t",true],"[:cntrl:]":["\\p{Cc}",true],"[:digit:]":["\\p{Nd}",true],"[:graph:]":["\\p{Z}\\p{C}",true,true],"[:lower:]":["\\p{Ll}",true],"[:print:]":["\\p{C}",true],"[:punct:]":["\\p{P}",true],"[:space:]":["\\p{Z}\\t\\r\\n\\v\\f",true],"[:upper:]":["\\p{Lu}",true],"[:word:]":["\\p{L}\\p{Nl}\\p{Nd}\\p{Pc}",true],"[:xdigit:]":["A-Fa-f0-9",false]};const braceEscape=e=>e.replace(/[[\]\\-]/g,"\\$&");const regexpEscape=e=>e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&");const rangesToString=e=>e.join("");const parseClass=(e,t)=>{const s=t;if(e.charAt(s)!=="["){throw new Error("not in a brace expression")}const r=[];const o=[];let i=s+1;let n=false;let a=false;let c=false;let l=false;let g=s;let h="";e:while(ih){r.push(braceEscape(h)+"-"+braceEscape(t))}else if(t===h){r.push(braceEscape(t))}h="";i++;continue}if(e.startsWith("-]",i+1)){r.push(braceEscape(t+"-"));i+=2;continue}if(e.startsWith("-",i+1)){h=t;i+=2;continue}r.push(braceEscape(t));i++}if(g{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.escape=void 0;const escape=(e,{windowsPathsNoEscape:t=false}={})=>t?e.replace(/[?*()[\]]/g,"[$&]"):e.replace(/[?*()[\]\\]/g,"\\$&");t.escape=escape},6507:function(e,t,A){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:true});t.unescape=t.escape=t.AST=t.Minimatch=t.match=t.makeRe=t.braceExpand=t.defaults=t.filter=t.GLOBSTAR=t.sep=t.minimatch=void 0;const r=s(A(4691));const o=A(7305);const i=A(1803);const n=A(800);const a=A(851);const minimatch=(e,t,A={})=>{(0,o.assertValidPattern)(t);if(!A.nocomment&&t.charAt(0)==="#"){return false}return new Minimatch(t,A).match(e)};t.minimatch=minimatch;const c=/^\*+([^+@!?\*\[\(]*)$/;const starDotExtTest=e=>t=>!t.startsWith(".")&&t.endsWith(e);const starDotExtTestDot=e=>t=>t.endsWith(e);const starDotExtTestNocase=e=>{e=e.toLowerCase();return t=>!t.startsWith(".")&&t.toLowerCase().endsWith(e)};const starDotExtTestNocaseDot=e=>{e=e.toLowerCase();return t=>t.toLowerCase().endsWith(e)};const l=/^\*+\.\*+$/;const starDotStarTest=e=>!e.startsWith(".")&&e.includes(".");const starDotStarTestDot=e=>e!=="."&&e!==".."&&e.includes(".");const g=/^\.\*+$/;const dotStarTest=e=>e!=="."&&e!==".."&&e.startsWith(".");const h=/^\*+$/;const starTest=e=>e.length!==0&&!e.startsWith(".");const starTestDot=e=>e.length!==0&&e!=="."&&e!=="..";const u=/^\?+([^+@!?\*\[\(]*)?$/;const qmarksTestNocase=([e,t=""])=>{const A=qmarksTestNoExt([e]);if(!t)return A;t=t.toLowerCase();return e=>A(e)&&e.toLowerCase().endsWith(t)};const qmarksTestNocaseDot=([e,t=""])=>{const A=qmarksTestNoExtDot([e]);if(!t)return A;t=t.toLowerCase();return e=>A(e)&&e.toLowerCase().endsWith(t)};const qmarksTestDot=([e,t=""])=>{const A=qmarksTestNoExtDot([e]);return!t?A:e=>A(e)&&e.endsWith(t)};const qmarksTest=([e,t=""])=>{const A=qmarksTestNoExt([e]);return!t?A:e=>A(e)&&e.endsWith(t)};const qmarksTestNoExt=([e])=>{const t=e.length;return e=>e.length===t&&!e.startsWith(".")};const qmarksTestNoExtDot=([e])=>{const t=e.length;return e=>e.length===t&&e!=="."&&e!==".."};const E=typeof process==="object"&&process?typeof process.env==="object"&&process.env&&process.env.__MINIMATCH_TESTING_PLATFORM__||process.platform:"posix";const d={win32:{sep:"\\"},posix:{sep:"/"}};t.sep=E==="win32"?d.win32.sep:d.posix.sep;t.minimatch.sep=t.sep;t.GLOBSTAR=Symbol("globstar **");t.minimatch.GLOBSTAR=t.GLOBSTAR;const p="[^/]";const Q=p+"*?";const C="(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?";const B="(?:(?!(?:\\/|^)\\.).)*?";const filter=(e,A={})=>s=>(0,t.minimatch)(s,e,A);t.filter=filter;t.minimatch.filter=t.filter;const ext=(e,t={})=>Object.assign({},e,t);const defaults=e=>{if(!e||typeof e!=="object"||!Object.keys(e).length){return t.minimatch}const A=t.minimatch;const m=(t,s,r={})=>A(t,s,ext(e,r));return Object.assign(m,{Minimatch:class Minimatch extends A.Minimatch{constructor(t,A={}){super(t,ext(e,A))}static defaults(t){return A.defaults(ext(e,t)).Minimatch}},AST:class AST extends A.AST{constructor(t,A,s={}){super(t,A,ext(e,s))}static fromGlob(t,s={}){return A.AST.fromGlob(t,ext(e,s))}},unescape:(t,s={})=>A.unescape(t,ext(e,s)),escape:(t,s={})=>A.escape(t,ext(e,s)),filter:(t,s={})=>A.filter(t,ext(e,s)),defaults:t=>A.defaults(ext(e,t)),makeRe:(t,s={})=>A.makeRe(t,ext(e,s)),braceExpand:(t,s={})=>A.braceExpand(t,ext(e,s)),match:(t,s,r={})=>A.match(t,s,ext(e,r)),sep:A.sep,GLOBSTAR:t.GLOBSTAR})};t.defaults=defaults;t.minimatch.defaults=t.defaults;const braceExpand=(e,t={})=>{(0,o.assertValidPattern)(e);if(t.nobrace||!/\{(?:(?!\{).)*\}/.test(e)){return[e]}return(0,r.default)(e)};t.braceExpand=braceExpand;t.minimatch.braceExpand=t.braceExpand;const makeRe=(e,t={})=>new Minimatch(e,t).makeRe();t.makeRe=makeRe;t.minimatch.makeRe=t.makeRe;const match=(e,t,A={})=>{const s=new Minimatch(t,A);e=e.filter((e=>s.match(e)));if(s.options.nonull&&!e.length){e.push(t)}return e};t.match=match;t.minimatch.match=t.match;const I=/[?*]|[+@!]\(.*?\)|\[|\]/;const regExpEscape=e=>e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&");class Minimatch{options;set;pattern;windowsPathsNoEscape;nonegate;negate;comment;empty;preserveMultipleSlashes;partial;globSet;globParts;nocase;isWindows;platform;windowsNoMagicRoot;regexp;constructor(e,t={}){(0,o.assertValidPattern)(e);t=t||{};this.options=t;this.pattern=e;this.platform=t.platform||E;this.isWindows=this.platform==="win32";this.windowsPathsNoEscape=!!t.windowsPathsNoEscape||t.allowWindowsEscape===false;if(this.windowsPathsNoEscape){this.pattern=this.pattern.replace(/\\/g,"/")}this.preserveMultipleSlashes=!!t.preserveMultipleSlashes;this.regexp=null;this.negate=false;this.nonegate=!!t.nonegate;this.comment=false;this.empty=false;this.partial=!!t.partial;this.nocase=!!this.options.nocase;this.windowsNoMagicRoot=t.windowsNoMagicRoot!==undefined?t.windowsNoMagicRoot:!!(this.isWindows&&this.nocase);this.globSet=[];this.globParts=[];this.set=[];this.make()}hasMagic(){if(this.options.magicalBraces&&this.set.length>1){return true}for(const e of this.set){for(const t of e){if(typeof t!=="string")return true}}return false}debug(...e){}make(){const e=this.pattern;const t=this.options;if(!t.nocomment&&e.charAt(0)==="#"){this.comment=true;return}if(!e){this.empty=true;return}this.parseNegate();this.globSet=[...new Set(this.braceExpand())];if(t.debug){this.debug=(...e)=>console.error(...e)}this.debug(this.pattern,this.globSet);const A=this.globSet.map((e=>this.slashSplit(e)));this.globParts=this.preprocess(A);this.debug(this.pattern,this.globParts);let s=this.globParts.map(((e,t,A)=>{if(this.isWindows&&this.windowsNoMagicRoot){const t=e[0]===""&&e[1]===""&&(e[2]==="?"||!I.test(e[2]))&&!I.test(e[3]);const A=/^[a-z]:/i.test(e[0]);if(t){return[...e.slice(0,4),...e.slice(4).map((e=>this.parse(e)))]}else if(A){return[e[0],...e.slice(1).map((e=>this.parse(e)))]}}return e.map((e=>this.parse(e)))}));this.debug(this.pattern,s);this.set=s.filter((e=>e.indexOf(false)===-1));if(this.isWindows){for(let e=0;e=2){e=this.firstPhasePreProcess(e);e=this.secondPhasePreProcess(e)}else if(t>=1){e=this.levelOneOptimize(e)}else{e=this.adjascentGlobstarOptimize(e)}return e}adjascentGlobstarOptimize(e){return e.map((e=>{let t=-1;while(-1!==(t=e.indexOf("**",t+1))){let A=t;while(e[A+1]==="**"){A++}if(A!==t){e.splice(t,A-t)}}return e}))}levelOneOptimize(e){return e.map((e=>{e=e.reduce(((e,t)=>{const A=e[e.length-1];if(t==="**"&&A==="**"){return e}if(t===".."){if(A&&A!==".."&&A!=="."&&A!=="**"){e.pop();return e}}e.push(t);return e}),[]);return e.length===0?[""]:e}))}levelTwoFileOptimize(e){if(!Array.isArray(e)){e=this.slashSplit(e)}let t=false;do{t=false;if(!this.preserveMultipleSlashes){for(let A=1;As){A.splice(s+1,r-s)}let o=A[s+1];const i=A[s+2];const n=A[s+3];if(o!=="..")continue;if(!i||i==="."||i===".."||!n||n==="."||n===".."){continue}t=true;A.splice(s,1);const a=A.slice(0);a[s]="**";e.push(a);s--}if(!this.preserveMultipleSlashes){for(let e=1;ee.length))}partsMatch(e,t,A=false){let s=0;let r=0;let o=[];let i="";while(si){A=A.slice(n)}else if(i>n){e=e.slice(i)}}}}const{optimizationLevel:o=1}=this.options;if(o>=2){e=this.levelTwoFileOptimize(e)}this.debug("matchOne",this,{file:e,pattern:A});this.debug("matchOne",e.length,A.length);for(var i=0,n=0,a=e.length,c=A.length;i>> no match, partial?",e,h,A,u);if(h===a){return true}}return false}let o;if(typeof l==="string"){o=g===l;this.debug("string match",l,g,o)}else{o=l.test(g);this.debug("pattern match",l,g,o)}if(!o)return false}if(i===a&&n===c){return true}else if(i===a){return s}else if(n===c){return i===a-1&&e[i]===""}else{throw new Error("wtf?")}}braceExpand(){return(0,t.braceExpand)(this.pattern,this.options)}parse(e){(0,o.assertValidPattern)(e);const A=this.options;if(e==="**")return t.GLOBSTAR;if(e==="")return"";let s;let r=null;if(s=e.match(h)){r=A.dot?starTestDot:starTest}else if(s=e.match(c)){r=(A.nocase?A.dot?starDotExtTestNocaseDot:starDotExtTestNocase:A.dot?starDotExtTestDot:starDotExtTest)(s[1])}else if(s=e.match(u)){r=(A.nocase?A.dot?qmarksTestNocaseDot:qmarksTestNocase:A.dot?qmarksTestDot:qmarksTest)(s)}else if(s=e.match(l)){r=A.dot?starDotStarTestDot:starDotStarTest}else if(s=e.match(g)){r=dotStarTest}const n=i.AST.fromGlob(e,this.options).toMMPattern();if(r&&typeof n==="object"){Reflect.defineProperty(n,"test",{value:r})}return n}makeRe(){if(this.regexp||this.regexp===false)return this.regexp;const e=this.set;if(!e.length){this.regexp=false;return this.regexp}const A=this.options;const s=A.noglobstar?Q:A.dot?C:B;const r=new Set(A.nocase?["i"]:[]);let o=e.map((e=>{const A=e.map((e=>{if(e instanceof RegExp){for(const t of e.flags.split(""))r.add(t)}return typeof e==="string"?regExpEscape(e):e===t.GLOBSTAR?t.GLOBSTAR:e._src}));A.forEach(((e,r)=>{const o=A[r+1];const i=A[r-1];if(e!==t.GLOBSTAR||i===t.GLOBSTAR){return}if(i===undefined){if(o!==undefined&&o!==t.GLOBSTAR){A[r+1]="(?:\\/|"+s+"\\/)?"+o}else{A[r]=s}}else if(o===undefined){A[r-1]=i+"(?:\\/|"+s+")?"}else if(o!==t.GLOBSTAR){A[r-1]=i+"(?:\\/|\\/"+s+"\\/)"+o;A[r+1]=t.GLOBSTAR}}));return A.filter((e=>e!==t.GLOBSTAR)).join("/")})).join("|");const[i,n]=e.length>1?["(?:",")"]:["",""];o="^"+i+o+n+"$";if(this.negate)o="^(?!"+o+").+$";try{this.regexp=new RegExp(o,[...r].join(""))}catch(e){this.regexp=false}return this.regexp}slashSplit(e){if(this.preserveMultipleSlashes){return e.split("/")}else if(this.isWindows&&/^\/\/[^\/]+/.test(e)){return["",...e.split(/\/+/)]}else{return e.split(/\/+/)}}match(e,t=this.partial){this.debug("match",e,this.pattern);if(this.comment){return false}if(this.empty){return e===""}if(e==="/"&&t){return true}const A=this.options;if(this.isWindows){e=e.split("\\").join("/")}const s=this.slashSplit(e);this.debug(this.pattern,"split",s);const r=this.set;this.debug(this.pattern,"set",r);let o=s[s.length-1];if(!o){for(let e=s.length-2;!o&&e>=0;e--){o=s[e]}}for(let e=0;e{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.unescape=void 0;const unescape=(e,{windowsPathsNoEscape:t=false}={})=>t?e.replace(/\[([^\/\\])\]/g,"$1"):e.replace(/((?!\\).|^)\[([^\/\\])\]/g,"$1$2").replace(/\\([^\/])/g,"$1");t.unescape=unescape},8275:function(e,t,A){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:true});t.Minipass=t.isWritable=t.isReadable=t.isStream=void 0;const r=typeof process==="object"&&process?process:{stdout:null,stderr:null};const o=A(8474);const i=s(A(7075));const n=A(6193);const isStream=e=>!!e&&typeof e==="object"&&(e instanceof Minipass||e instanceof i.default||(0,t.isReadable)(e)||(0,t.isWritable)(e));t.isStream=isStream;const isReadable=e=>!!e&&typeof e==="object"&&e instanceof o.EventEmitter&&typeof e.pipe==="function"&&e.pipe!==i.default.Writable.prototype.pipe;t.isReadable=isReadable;const isWritable=e=>!!e&&typeof e==="object"&&e instanceof o.EventEmitter&&typeof e.write==="function"&&typeof e.end==="function";t.isWritable=isWritable;const a=Symbol("EOF");const c=Symbol("maybeEmitEnd");const l=Symbol("emittedEnd");const g=Symbol("emittingEnd");const h=Symbol("emittedError");const u=Symbol("closed");const E=Symbol("read");const d=Symbol("flush");const p=Symbol("flushChunk");const Q=Symbol("encoding");const C=Symbol("decoder");const B=Symbol("flowing");const I=Symbol("paused");const y=Symbol("resume");const w=Symbol("buffer");const b=Symbol("pipes");const k=Symbol("bufferLength");const R=Symbol("bufferPush");const D=Symbol("bufferShift");const S=Symbol("objectMode");const F=Symbol("destroyed");const v=Symbol("error");const T=Symbol("emitData");const N=Symbol("emitEnd");const U=Symbol("emitEnd2");const L=Symbol("async");const G=Symbol("abort");const x=Symbol("aborted");const M=Symbol("signal");const _=Symbol("dataListeners");const P=Symbol("discarded");const defer=e=>Promise.resolve().then(e);const nodefer=e=>e();const isEndish=e=>e==="end"||e==="finish"||e==="prefinish";const isArrayBufferLike=e=>e instanceof ArrayBuffer||!!e&&typeof e==="object"&&e.constructor&&e.constructor.name==="ArrayBuffer"&&e.byteLength>=0;const isArrayBufferView=e=>!Buffer.isBuffer(e)&&ArrayBuffer.isView(e);class Pipe{src;dest;opts;ondrain;constructor(e,t,A){this.src=e;this.dest=t;this.opts=A;this.ondrain=()=>e[y]();this.dest.on("drain",this.ondrain)}unpipe(){this.dest.removeListener("drain",this.ondrain)}proxyErrors(e){}end(){this.unpipe();if(this.opts.end)this.dest.end()}}class PipeProxyErrors extends Pipe{unpipe(){this.src.removeListener("error",this.proxyErrors);super.unpipe()}constructor(e,t,A){super(e,t,A);this.proxyErrors=e=>t.emit("error",e);e.on("error",this.proxyErrors)}}const isObjectModeOptions=e=>!!e.objectMode;const isEncodingOptions=e=>!e.objectMode&&!!e.encoding&&e.encoding!=="buffer";class Minipass extends o.EventEmitter{[B]=false;[I]=false;[b]=[];[w]=[];[S];[Q];[L];[C];[a]=false;[l]=false;[g]=false;[u]=false;[h]=null;[k]=0;[F]=false;[M];[x]=false;[_]=0;[P]=false;writable=true;readable=true;constructor(...e){const t=e[0]||{};super();if(t.objectMode&&typeof t.encoding==="string"){throw new TypeError("Encoding and objectMode may not be used together")}if(isObjectModeOptions(t)){this[S]=true;this[Q]=null}else if(isEncodingOptions(t)){this[Q]=t.encoding;this[S]=false}else{this[S]=false;this[Q]=null}this[L]=!!t.async;this[C]=this[Q]?new n.StringDecoder(this[Q]):null;if(t&&t.debugExposeBuffer===true){Object.defineProperty(this,"buffer",{get:()=>this[w]})}if(t&&t.debugExposePipes===true){Object.defineProperty(this,"pipes",{get:()=>this[b]})}const{signal:A}=t;if(A){this[M]=A;if(A.aborted){this[G]()}else{A.addEventListener("abort",(()=>this[G]()))}}}get bufferLength(){return this[k]}get encoding(){return this[Q]}set encoding(e){throw new Error("Encoding must be set at instantiation time")}setEncoding(e){throw new Error("Encoding must be set at instantiation time")}get objectMode(){return this[S]}set objectMode(e){throw new Error("objectMode must be set at instantiation time")}get["async"](){return this[L]}set["async"](e){this[L]=this[L]||!!e}[G](){this[x]=true;this.emit("abort",this[M]?.reason);this.destroy(this[M]?.reason)}get aborted(){return this[x]}set aborted(e){}write(e,t,A){if(this[x])return false;if(this[a])throw new Error("write after end");if(this[F]){this.emit("error",Object.assign(new Error("Cannot call write after a stream was destroyed"),{code:"ERR_STREAM_DESTROYED"}));return true}if(typeof t==="function"){A=t;t="utf8"}if(!t)t="utf8";const s=this[L]?defer:nodefer;if(!this[S]&&!Buffer.isBuffer(e)){if(isArrayBufferView(e)){e=Buffer.from(e.buffer,e.byteOffset,e.byteLength)}else if(isArrayBufferLike(e)){e=Buffer.from(e)}else if(typeof e!=="string"){throw new Error("Non-contiguous data written to non-objectMode stream")}}if(this[S]){if(this[B]&&this[k]!==0)this[d](true);if(this[B])this.emit("data",e);else this[R](e);if(this[k]!==0)this.emit("readable");if(A)s(A);return this[B]}if(!e.length){if(this[k]!==0)this.emit("readable");if(A)s(A);return this[B]}if(typeof e==="string"&&!(t===this[Q]&&!this[C]?.lastNeed)){e=Buffer.from(e,t)}if(Buffer.isBuffer(e)&&this[Q]){e=this[C].write(e)}if(this[B]&&this[k]!==0)this[d](true);if(this[B])this.emit("data",e);else this[R](e);if(this[k]!==0)this.emit("readable");if(A)s(A);return this[B]}read(e){if(this[F])return null;this[P]=false;if(this[k]===0||e===0||e&&e>this[k]){this[c]();return null}if(this[S])e=null;if(this[w].length>1&&!this[S]){this[w]=[this[Q]?this[w].join(""):Buffer.concat(this[w],this[k])]}const t=this[E](e||null,this[w][0]);this[c]();return t}[E](e,t){if(this[S])this[D]();else{const A=t;if(e===A.length||e===null)this[D]();else if(typeof A==="string"){this[w][0]=A.slice(e);t=A.slice(0,e);this[k]-=e}else{this[w][0]=A.subarray(e);t=A.subarray(0,e);this[k]-=e}}this.emit("data",t);if(!this[w].length&&!this[a])this.emit("drain");return t}end(e,t,A){if(typeof e==="function"){A=e;e=undefined}if(typeof t==="function"){A=t;t="utf8"}if(e!==undefined)this.write(e,t);if(A)this.once("end",A);this[a]=true;this.writable=false;if(this[B]||!this[I])this[c]();return this}[y](){if(this[F])return;if(!this[_]&&!this[b].length){this[P]=true}this[I]=false;this[B]=true;this.emit("resume");if(this[w].length)this[d]();else if(this[a])this[c]();else this.emit("drain")}resume(){return this[y]()}pause(){this[B]=false;this[I]=true;this[P]=false}get destroyed(){return this[F]}get flowing(){return this[B]}get paused(){return this[I]}[R](e){if(this[S])this[k]+=1;else this[k]+=e.length;this[w].push(e)}[D](){if(this[S])this[k]-=1;else this[k]-=this[w][0].length;return this[w].shift()}[d](e=false){do{}while(this[p](this[D]())&&this[w].length);if(!e&&!this[w].length&&!this[a])this.emit("drain")}[p](e){this.emit("data",e);return this[B]}pipe(e,t){if(this[F])return e;this[P]=false;const A=this[l];t=t||{};if(e===r.stdout||e===r.stderr)t.end=false;else t.end=t.end!==false;t.proxyErrors=!!t.proxyErrors;if(A){if(t.end)e.end()}else{this[b].push(!t.proxyErrors?new Pipe(this,e,t):new PipeProxyErrors(this,e,t));if(this[L])defer((()=>this[y]()));else this[y]()}return e}unpipe(e){const t=this[b].find((t=>t.dest===e));if(t){if(this[b].length===1){if(this[B]&&this[_]===0){this[B]=false}this[b]=[]}else this[b].splice(this[b].indexOf(t),1);t.unpipe()}}addListener(e,t){return this.on(e,t)}on(e,t){const A=super.on(e,t);if(e==="data"){this[P]=false;this[_]++;if(!this[b].length&&!this[B]){this[y]()}}else if(e==="readable"&&this[k]!==0){super.emit("readable")}else if(isEndish(e)&&this[l]){super.emit(e);this.removeAllListeners(e)}else if(e==="error"&&this[h]){const e=t;if(this[L])defer((()=>e.call(this,this[h])));else e.call(this,this[h])}return A}removeListener(e,t){return this.off(e,t)}off(e,t){const A=super.off(e,t);if(e==="data"){this[_]=this.listeners("data").length;if(this[_]===0&&!this[P]&&!this[b].length){this[B]=false}}return A}removeAllListeners(e){const t=super.removeAllListeners(e);if(e==="data"||e===undefined){this[_]=0;if(!this[P]&&!this[b].length){this[B]=false}}return t}get emittedEnd(){return this[l]}[c](){if(!this[g]&&!this[l]&&!this[F]&&this[w].length===0&&this[a]){this[g]=true;this.emit("end");this.emit("prefinish");this.emit("finish");if(this[u])this.emit("close");this[g]=false}}emit(e,...t){const A=t[0];if(e!=="error"&&e!=="close"&&e!==F&&this[F]){return false}else if(e==="data"){return!this[S]&&!A?false:this[L]?(defer((()=>this[T](A))),true):this[T](A)}else if(e==="end"){return this[N]()}else if(e==="close"){this[u]=true;if(!this[l]&&!this[F])return false;const e=super.emit("close");this.removeAllListeners("close");return e}else if(e==="error"){this[h]=A;super.emit(v,A);const e=!this[M]||this.listeners("error").length?super.emit("error",A):false;this[c]();return e}else if(e==="resume"){const e=super.emit("resume");this[c]();return e}else if(e==="finish"||e==="prefinish"){const t=super.emit(e);this.removeAllListeners(e);return t}const s=super.emit(e,...t);this[c]();return s}[T](e){for(const t of this[b]){if(t.dest.write(e)===false)this.pause()}const t=this[P]?false:super.emit("data",e);this[c]();return t}[N](){if(this[l])return false;this[l]=true;this.readable=false;return this[L]?(defer((()=>this[U]())),true):this[U]()}[U](){if(this[C]){const e=this[C].end();if(e){for(const t of this[b]){t.dest.write(e)}if(!this[P])super.emit("data",e)}}for(const e of this[b]){e.end()}const e=super.emit("end");this.removeAllListeners("end");return e}async collect(){const e=Object.assign([],{dataLength:0});if(!this[S])e.dataLength=0;const t=this.promise();this.on("data",(t=>{e.push(t);if(!this[S])e.dataLength+=t.length}));await t;return e}async concat(){if(this[S]){throw new Error("cannot concat in objectMode")}const e=await this.collect();return this[Q]?e.join(""):Buffer.concat(e,e.dataLength)}async promise(){return new Promise(((e,t)=>{this.on(F,(()=>t(new Error("stream destroyed"))));this.on("error",(e=>t(e)));this.on("end",(()=>e()))}))}[Symbol.asyncIterator](){this[P]=false;let e=false;const stop=async()=>{this.pause();e=true;return{value:undefined,done:true}};const next=()=>{if(e)return stop();const t=this.read();if(t!==null)return Promise.resolve({done:false,value:t});if(this[a])return stop();let A;let s;const onerr=e=>{this.off("data",ondata);this.off("end",onend);this.off(F,ondestroy);stop();s(e)};const ondata=e=>{this.off("error",onerr);this.off("end",onend);this.off(F,ondestroy);this.pause();A({value:e,done:!!this[a]})};const onend=()=>{this.off("error",onerr);this.off("data",ondata);this.off(F,ondestroy);stop();A({done:true,value:undefined})};const ondestroy=()=>onerr(new Error("stream destroyed"));return new Promise(((e,t)=>{s=t;A=e;this.once(F,ondestroy);this.once("error",onerr);this.once("end",onend);this.once("data",ondata)}))};return{next:next,throw:stop,return:stop,[Symbol.asyncIterator](){return this}}}[Symbol.iterator](){this[P]=false;let e=false;const stop=()=>{this.pause();this.off(v,stop);this.off(F,stop);this.off("end",stop);e=true;return{done:true,value:undefined}};const next=()=>{if(e)return stop();const t=this.read();return t===null?stop():{done:false,value:t}};this.once("end",stop);this.once(v,stop);this.once(F,stop);return{next:next,throw:stop,return:stop,[Symbol.iterator](){return this}}}destroy(e){if(this[F]){if(e)this.emit("error",e);else this.emit(F);return this}this[F]=true;this[P]=true;this[w].length=0;this[k]=0;const t=this;if(typeof t.close==="function"&&!this[u])t.close();if(e)this.emit("error",e);else this.emit(F);return this}static get isStream(){return t.isStream}}t.Minipass=Minipass},6577:function(e,t,A){"use strict";var s=this&&this.__createBinding||(Object.create?function(e,t,A,s){if(s===undefined)s=A;var r=Object.getOwnPropertyDescriptor(t,A);if(!r||("get"in r?!t.__esModule:r.writable||r.configurable)){r={enumerable:true,get:function(){return t[A]}}}Object.defineProperty(e,s,r)}:function(e,t,A,s){if(s===undefined)s=A;e[s]=t[A]});var r=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}:function(e,t){e["default"]=t});var o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var A in e)if(A!=="default"&&Object.prototype.hasOwnProperty.call(e,A))s(t,e,A);r(t,e);return t};Object.defineProperty(t,"__esModule",{value:true});t.PathScurry=t.Path=t.PathScurryDarwin=t.PathScurryPosix=t.PathScurryWin32=t.PathScurryBase=t.PathPosix=t.PathWin32=t.PathBase=t.ChildrenCache=t.ResolveCache=void 0;const i=A(897);const n=A(6760);const a=A(3136);const c=A(9896);const l=o(A(3024));const g=c.realpathSync.native;const h=A(1455);const u=A(8275);const E={lstatSync:c.lstatSync,readdir:c.readdir,readdirSync:c.readdirSync,readlinkSync:c.readlinkSync,realpathSync:g,promises:{lstat:h.lstat,readdir:h.readdir,readlink:h.readlink,realpath:h.realpath}};const fsFromOption=e=>!e||e===E||e===l?E:{...E,...e,promises:{...E.promises,...e.promises||{}}};const d=/^\\\\\?\\([a-z]:)\\?$/i;const uncToDrive=e=>e.replace(/\//g,"\\").replace(d,"$1\\");const p=/[\\\/]/;const Q=0;const C=1;const B=2;const I=4;const y=6;const w=8;const b=10;const k=12;const R=15;const D=~R;const S=16;const F=32;const v=64;const T=128;const N=256;const U=512;const L=v|T|U;const G=1023;const entToType=e=>e.isFile()?w:e.isDirectory()?I:e.isSymbolicLink()?b:e.isCharacterDevice()?B:e.isBlockDevice()?y:e.isSocket()?k:e.isFIFO()?C:Q;const x=new Map;const normalize=e=>{const t=x.get(e);if(t)return t;const A=e.normalize("NFKD");x.set(e,A);return A};const M=new Map;const normalizeNocase=e=>{const t=M.get(e);if(t)return t;const A=normalize(e.toLowerCase());M.set(e,A);return A};class ResolveCache extends i.LRUCache{constructor(){super({max:256})}}t.ResolveCache=ResolveCache;class ChildrenCache extends i.LRUCache{constructor(e=16*1024){super({maxSize:e,sizeCalculation:e=>e.length+1})}}t.ChildrenCache=ChildrenCache;const _=Symbol("PathScurry setAsCwd");class PathBase{name;root;roots;parent;nocase;isCWD=false;#W;#q;get dev(){return this.#q}#j;get mode(){return this.#j}#z;get nlink(){return this.#z}#Z;get uid(){return this.#Z}#X;get gid(){return this.#X}#K;get rdev(){return this.#K}#$;get blksize(){return this.#$}#ee;get ino(){return this.#ee}#te;get size(){return this.#te}#Ae;get blocks(){return this.#Ae}#se;get atimeMs(){return this.#se}#re;get mtimeMs(){return this.#re}#oe;get ctimeMs(){return this.#oe}#ie;get birthtimeMs(){return this.#ie}#ne;get atime(){return this.#ne}#ae;get mtime(){return this.#ae}#ce;get ctime(){return this.#ce}#le;get birthtime(){return this.#le}#ge;#he;#ue;#Ee;#de;#pe;#Qe;#Ce;#Be;#fe;get parentPath(){return(this.parent||this).fullpath()}get path(){return this.parentPath}constructor(e,t=Q,A,s,r,o,i){this.name=e;this.#ge=r?normalizeNocase(e):normalize(e);this.#Qe=t&G;this.nocase=r;this.roots=s;this.root=A||this;this.#Ce=o;this.#ue=i.fullpath;this.#de=i.relative;this.#pe=i.relativePosix;this.parent=i.parent;if(this.parent){this.#W=this.parent.#W}else{this.#W=fsFromOption(i.fs)}}depth(){if(this.#he!==undefined)return this.#he;if(!this.parent)return this.#he=0;return this.#he=this.parent.depth()+1}childrenCache(){return this.#Ce}resolve(e){if(!e){return this}const t=this.getRootString(e);const A=e.substring(t.length);const s=A.split(this.splitSep);const r=t?this.getRoot(t).#Ie(s):this.#Ie(s);return r}#Ie(e){let t=this;for(const A of e){t=t.child(A)}return t}children(){const e=this.#Ce.get(this);if(e){return e}const t=Object.assign([],{provisional:0});this.#Ce.set(this,t);this.#Qe&=~S;return t}child(e,t){if(e===""||e==="."){return this}if(e===".."){return this.parent||this}const A=this.children();const s=this.nocase?normalizeNocase(e):normalize(e);for(const e of A){if(e.#ge===s){return e}}const r=this.parent?this.sep:"";const o=this.#ue?this.#ue+r+e:undefined;const i=this.newChild(e,Q,{...t,parent:this,fullpath:o});if(!this.canReaddir()){i.#Qe|=T}A.push(i);return i}relative(){if(this.isCWD)return"";if(this.#de!==undefined){return this.#de}const e=this.name;const t=this.parent;if(!t){return this.#de=this.name}const A=t.relative();return A+(!A||!t.parent?"":this.sep)+e}relativePosix(){if(this.sep==="/")return this.relative();if(this.isCWD)return"";if(this.#pe!==undefined)return this.#pe;const e=this.name;const t=this.parent;if(!t){return this.#pe=this.fullpathPosix()}const A=t.relativePosix();return A+(!A||!t.parent?"":"/")+e}fullpath(){if(this.#ue!==undefined){return this.#ue}const e=this.name;const t=this.parent;if(!t){return this.#ue=this.name}const A=t.fullpath();const s=A+(!t.parent?"":this.sep)+e;return this.#ue=s}fullpathPosix(){if(this.#Ee!==undefined)return this.#Ee;if(this.sep==="/")return this.#Ee=this.fullpath();if(!this.parent){const e=this.fullpath().replace(/\\/g,"/");if(/^[a-z]:\//i.test(e)){return this.#Ee=`//?/${e}`}else{return this.#Ee=e}}const e=this.parent;const t=e.fullpathPosix();const A=t+(!t||!e.parent?"":"/")+this.name;return this.#Ee=A}isUnknown(){return(this.#Qe&R)===Q}isType(e){return this[`is${e}`]()}getType(){return this.isUnknown()?"Unknown":this.isDirectory()?"Directory":this.isFile()?"File":this.isSymbolicLink()?"SymbolicLink":this.isFIFO()?"FIFO":this.isCharacterDevice()?"CharacterDevice":this.isBlockDevice()?"BlockDevice":this.isSocket()?"Socket":"Unknown"}isFile(){return(this.#Qe&R)===w}isDirectory(){return(this.#Qe&R)===I}isCharacterDevice(){return(this.#Qe&R)===B}isBlockDevice(){return(this.#Qe&R)===y}isFIFO(){return(this.#Qe&R)===C}isSocket(){return(this.#Qe&R)===k}isSymbolicLink(){return(this.#Qe&b)===b}lstatCached(){return this.#Qe&F?this:undefined}readlinkCached(){return this.#Be}realpathCached(){return this.#fe}readdirCached(){const e=this.children();return e.slice(0,e.provisional)}canReadlink(){if(this.#Be)return true;if(!this.parent)return false;const e=this.#Qe&R;return!(e!==Q&&e!==b||this.#Qe&N||this.#Qe&T)}calledReaddir(){return!!(this.#Qe&S)}isENOENT(){return!!(this.#Qe&T)}isNamed(e){return!this.nocase?this.#ge===normalize(e):this.#ge===normalizeNocase(e)}async readlink(){const e=this.#Be;if(e){return e}if(!this.canReadlink()){return undefined}if(!this.parent){return undefined}try{const e=await this.#W.promises.readlink(this.fullpath());const t=(await this.parent.realpath())?.resolve(e);if(t){return this.#Be=t}}catch(e){this.#me(e.code);return undefined}}readlinkSync(){const e=this.#Be;if(e){return e}if(!this.canReadlink()){return undefined}if(!this.parent){return undefined}try{const e=this.#W.readlinkSync(this.fullpath());const t=this.parent.realpathSync()?.resolve(e);if(t){return this.#Be=t}}catch(e){this.#me(e.code);return undefined}}#ye(e){this.#Qe|=S;for(let t=e.provisional;tt(null,e)))}readdirCB(e,t=false){if(!this.canReaddir()){if(t)e(null,[]);else queueMicrotask((()=>e(null,[])));return}const A=this.children();if(this.calledReaddir()){const s=A.slice(0,A.provisional);if(t)e(null,s);else queueMicrotask((()=>e(null,s)));return}this.#Le.push(e);if(this.#Ge){return}this.#Ge=true;const s=this.fullpath();this.#W.readdir(s,{withFileTypes:true},((e,t)=>{if(e){this.#De(e.code);A.provisional=0}else{for(const e of t){this.#Fe(e,A)}this.#ye(A)}this.#xe(A.slice(0,A.provisional));return}))}#Me;async readdir(){if(!this.canReaddir()){return[]}const e=this.children();if(this.calledReaddir()){return e.slice(0,e.provisional)}const t=this.fullpath();if(this.#Me){await this.#Me}else{let resolve=()=>{};this.#Me=new Promise((e=>resolve=e));try{for(const A of await this.#W.promises.readdir(t,{withFileTypes:true})){this.#Fe(A,e)}this.#ye(e)}catch(t){this.#De(t.code);e.provisional=0}this.#Me=undefined;resolve()}return e.slice(0,e.provisional)}readdirSync(){if(!this.canReaddir()){return[]}const e=this.children();if(this.calledReaddir()){return e.slice(0,e.provisional)}const t=this.fullpath();try{for(const A of this.#W.readdirSync(t,{withFileTypes:true})){this.#Fe(A,e)}this.#ye(e)}catch(t){this.#De(t.code);e.provisional=0}return e.slice(0,e.provisional)}canReaddir(){if(this.#Qe&L)return false;const e=R&this.#Qe;if(!(e===Q||e===I||e===b)){return false}return true}shouldWalk(e,t){return(this.#Qe&I)===I&&!(this.#Qe&L)&&!e.has(this)&&(!t||t(this))}async realpath(){if(this.#fe)return this.#fe;if((U|N|T)&this.#Qe)return undefined;try{const e=await this.#W.promises.realpath(this.fullpath());return this.#fe=this.resolve(e)}catch(e){this.#ke()}}realpathSync(){if(this.#fe)return this.#fe;if((U|N|T)&this.#Qe)return undefined;try{const e=this.#W.realpathSync(this.fullpath());return this.#fe=this.resolve(e)}catch(e){this.#ke()}}[_](e){if(e===this)return;e.isCWD=false;this.isCWD=true;const t=new Set([]);let A=[];let s=this;while(s&&s.parent){t.add(s);s.#de=A.join(this.sep);s.#pe=A.join("/");s=s.parent;A.push("..")}s=e;while(s&&s.parent&&!t.has(s)){s.#de=undefined;s.#pe=undefined;s=s.parent}}}t.PathBase=PathBase;class PathWin32 extends PathBase{sep="\\";splitSep=p;constructor(e,t=Q,A,s,r,o,i){super(e,t,A,s,r,o,i)}newChild(e,t=Q,A={}){return new PathWin32(e,t,this.root,this.roots,this.nocase,this.childrenCache(),A)}getRootString(e){return n.win32.parse(e).root}getRoot(e){e=uncToDrive(e.toUpperCase());if(e===this.root.name){return this.root}for(const[t,A]of Object.entries(this.roots)){if(this.sameRoot(e,t)){return this.roots[e]=A}}return this.roots[e]=new PathScurryWin32(e,this).root}sameRoot(e,t=this.root.name){e=e.toUpperCase().replace(/\//g,"\\").replace(d,"$1\\");return e===t}}t.PathWin32=PathWin32;class PathPosix extends PathBase{splitSep="/";sep="/";constructor(e,t=Q,A,s,r,o,i){super(e,t,A,s,r,o,i)}getRootString(e){return e.startsWith("/")?"/":""}getRoot(e){return this.root}newChild(e,t=Q,A={}){return new PathPosix(e,t,this.root,this.roots,this.nocase,this.childrenCache(),A)}}t.PathPosix=PathPosix;class PathScurryBase{root;rootPath;roots;cwd;#_e;#Pe;#Ce;nocase;#W;constructor(e=process.cwd(),t,A,{nocase:s,childrenCacheSize:r=16*1024,fs:o=E}={}){this.#W=fsFromOption(o);if(e instanceof URL||e.startsWith("file://")){e=(0,a.fileURLToPath)(e)}const i=t.resolve(e);this.roots=Object.create(null);this.rootPath=this.parseRootPath(i);this.#_e=new ResolveCache;this.#Pe=new ResolveCache;this.#Ce=new ChildrenCache(r);const n=i.substring(this.rootPath.length).split(A);if(n.length===1&&!n[0]){n.pop()}if(s===undefined){throw new TypeError("must provide nocase setting to PathScurryBase ctor")}this.nocase=s;this.root=this.newRoot(this.#W);this.roots[this.rootPath]=this.root;let c=this.root;let l=n.length-1;const g=t.sep;let h=this.rootPath;let u=false;for(const e of n){const t=l--;c=c.child(e,{relative:new Array(t).fill("..").join(g),relativePosix:new Array(t).fill("..").join("/"),fullpath:h+=(u?"":g)+e});u=true}this.cwd=c}depth(e=this.cwd){if(typeof e==="string"){e=this.cwd.resolve(e)}return e.depth()}childrenCache(){return this.#Ce}resolve(...e){let t="";for(let A=e.length-1;A>=0;A--){const s=e[A];if(!s||s===".")continue;t=t?`${s}/${t}`:s;if(this.isAbsolute(s)){break}}const A=this.#_e.get(t);if(A!==undefined){return A}const s=this.cwd.resolve(t).fullpath();this.#_e.set(t,s);return s}resolvePosix(...e){let t="";for(let A=e.length-1;A>=0;A--){const s=e[A];if(!s||s===".")continue;t=t?`${s}/${t}`:s;if(this.isAbsolute(s)){break}}const A=this.#Pe.get(t);if(A!==undefined){return A}const s=this.cwd.resolve(t).fullpathPosix();this.#Pe.set(t,s);return s}relative(e=this.cwd){if(typeof e==="string"){e=this.cwd.resolve(e)}return e.relative()}relativePosix(e=this.cwd){if(typeof e==="string"){e=this.cwd.resolve(e)}return e.relativePosix()}basename(e=this.cwd){if(typeof e==="string"){e=this.cwd.resolve(e)}return e.name}dirname(e=this.cwd){if(typeof e==="string"){e=this.cwd.resolve(e)}return(e.parent||e).fullpath()}async readdir(e=this.cwd,t={withFileTypes:true}){if(typeof e==="string"){e=this.cwd.resolve(e)}else if(!(e instanceof PathBase)){t=e;e=this.cwd}const{withFileTypes:A}=t;if(!e.canReaddir()){return[]}else{const t=await e.readdir();return A?t:t.map((e=>e.name))}}readdirSync(e=this.cwd,t={withFileTypes:true}){if(typeof e==="string"){e=this.cwd.resolve(e)}else if(!(e instanceof PathBase)){t=e;e=this.cwd}const{withFileTypes:A=true}=t;if(!e.canReaddir()){return[]}else if(A){return e.readdirSync()}else{return e.readdirSync().map((e=>e.name))}}async lstat(e=this.cwd){if(typeof e==="string"){e=this.cwd.resolve(e)}return e.lstat()}lstatSync(e=this.cwd){if(typeof e==="string"){e=this.cwd.resolve(e)}return e.lstatSync()}async readlink(e=this.cwd,{withFileTypes:t}={withFileTypes:false}){if(typeof e==="string"){e=this.cwd.resolve(e)}else if(!(e instanceof PathBase)){t=e.withFileTypes;e=this.cwd}const A=await e.readlink();return t?A:A?.fullpath()}readlinkSync(e=this.cwd,{withFileTypes:t}={withFileTypes:false}){if(typeof e==="string"){e=this.cwd.resolve(e)}else if(!(e instanceof PathBase)){t=e.withFileTypes;e=this.cwd}const A=e.readlinkSync();return t?A:A?.fullpath()}async realpath(e=this.cwd,{withFileTypes:t}={withFileTypes:false}){if(typeof e==="string"){e=this.cwd.resolve(e)}else if(!(e instanceof PathBase)){t=e.withFileTypes;e=this.cwd}const A=await e.realpath();return t?A:A?.fullpath()}realpathSync(e=this.cwd,{withFileTypes:t}={withFileTypes:false}){if(typeof e==="string"){e=this.cwd.resolve(e)}else if(!(e instanceof PathBase)){t=e.withFileTypes;e=this.cwd}const A=e.realpathSync();return t?A:A?.fullpath()}async walk(e=this.cwd,t={}){if(typeof e==="string"){e=this.cwd.resolve(e)}else if(!(e instanceof PathBase)){t=e;e=this.cwd}const{withFileTypes:A=true,follow:s=false,filter:r,walkFilter:o}=t;const i=[];if(!r||r(e)){i.push(A?e:e.fullpath())}const n=new Set;const walk=(e,t)=>{n.add(e);e.readdirCB(((e,a)=>{if(e){return t(e)}let c=a.length;if(!c)return t();const next=()=>{if(--c===0){t()}};for(const e of a){if(!r||r(e)){i.push(A?e:e.fullpath())}if(s&&e.isSymbolicLink()){e.realpath().then((e=>e?.isUnknown()?e.lstat():e)).then((e=>e?.shouldWalk(n,o)?walk(e,next):next()))}else{if(e.shouldWalk(n,o)){walk(e,next)}else{next()}}}}),true)};const a=e;return new Promise(((e,t)=>{walk(a,(A=>{if(A)return t(A);e(i)}))}))}walkSync(e=this.cwd,t={}){if(typeof e==="string"){e=this.cwd.resolve(e)}else if(!(e instanceof PathBase)){t=e;e=this.cwd}const{withFileTypes:A=true,follow:s=false,filter:r,walkFilter:o}=t;const i=[];if(!r||r(e)){i.push(A?e:e.fullpath())}const n=new Set([e]);for(const e of n){const t=e.readdirSync();for(const e of t){if(!r||r(e)){i.push(A?e:e.fullpath())}let t=e;if(e.isSymbolicLink()){if(!(s&&(t=e.realpathSync())))continue;if(t.isUnknown())t.lstatSync()}if(t.shouldWalk(n,o)){n.add(t)}}}return i}[Symbol.asyncIterator](){return this.iterate()}iterate(e=this.cwd,t={}){if(typeof e==="string"){e=this.cwd.resolve(e)}else if(!(e instanceof PathBase)){t=e;e=this.cwd}return this.stream(e,t)[Symbol.asyncIterator]()}[Symbol.iterator](){return this.iterateSync()}*iterateSync(e=this.cwd,t={}){if(typeof e==="string"){e=this.cwd.resolve(e)}else if(!(e instanceof PathBase)){t=e;e=this.cwd}const{withFileTypes:A=true,follow:s=false,filter:r,walkFilter:o}=t;if(!r||r(e)){yield A?e:e.fullpath()}const i=new Set([e]);for(const e of i){const t=e.readdirSync();for(const e of t){if(!r||r(e)){yield A?e:e.fullpath()}let t=e;if(e.isSymbolicLink()){if(!(s&&(t=e.realpathSync())))continue;if(t.isUnknown())t.lstatSync()}if(t.shouldWalk(i,o)){i.add(t)}}}}stream(e=this.cwd,t={}){if(typeof e==="string"){e=this.cwd.resolve(e)}else if(!(e instanceof PathBase)){t=e;e=this.cwd}const{withFileTypes:A=true,follow:s=false,filter:r,walkFilter:o}=t;const i=new u.Minipass({objectMode:true});if(!r||r(e)){i.write(A?e:e.fullpath())}const n=new Set;const a=[e];let c=0;const process=()=>{let e=false;while(!e){const t=a.shift();if(!t){if(c===0)i.end();return}c++;n.add(t);const onReaddir=(t,g,h=false)=>{if(t)return i.emit("error",t);if(s&&!h){const e=[];for(const t of g){if(t.isSymbolicLink()){e.push(t.realpath().then((e=>e?.isUnknown()?e.lstat():e)))}}if(e.length){Promise.all(e).then((()=>onReaddir(null,g,true)));return}}for(const t of g){if(t&&(!r||r(t))){if(!i.write(A?t:t.fullpath())){e=true}}}c--;for(const e of g){const t=e.realpathCached()||e;if(t.shouldWalk(n,o)){a.push(t)}}if(e&&!i.flowing){i.once("drain",process)}else if(!l){process()}};let l=true;t.readdirCB(onReaddir,true);l=false}};process();return i}streamSync(e=this.cwd,t={}){if(typeof e==="string"){e=this.cwd.resolve(e)}else if(!(e instanceof PathBase)){t=e;e=this.cwd}const{withFileTypes:A=true,follow:s=false,filter:r,walkFilter:o}=t;const i=new u.Minipass({objectMode:true});const n=new Set;if(!r||r(e)){i.write(A?e:e.fullpath())}const a=[e];let c=0;const process=()=>{let e=false;while(!e){const t=a.shift();if(!t){if(c===0)i.end();return}c++;n.add(t);const l=t.readdirSync();for(const t of l){if(!r||r(t)){if(!i.write(A?t:t.fullpath())){e=true}}}c--;for(const e of l){let t=e;if(e.isSymbolicLink()){if(!(s&&(t=e.realpathSync())))continue;if(t.isUnknown())t.lstatSync()}if(t.shouldWalk(n,o)){a.push(t)}}}if(e&&!i.flowing)i.once("drain",process)};process();return i}chdir(e=this.cwd){const t=this.cwd;this.cwd=typeof e==="string"?this.cwd.resolve(e):e;this.cwd[_](t)}}t.PathScurryBase=PathScurryBase;class PathScurryWin32 extends PathScurryBase{sep="\\";constructor(e=process.cwd(),t={}){const{nocase:A=true}=t;super(e,n.win32,"\\",{...t,nocase:A});this.nocase=A;for(let e=this.cwd;e;e=e.parent){e.nocase=this.nocase}}parseRootPath(e){return n.win32.parse(e).root.toUpperCase()}newRoot(e){return new PathWin32(this.rootPath,I,undefined,this.roots,this.nocase,this.childrenCache(),{fs:e})}isAbsolute(e){return e.startsWith("/")||e.startsWith("\\")||/^[a-z]:(\/|\\)/i.test(e)}}t.PathScurryWin32=PathScurryWin32;class PathScurryPosix extends PathScurryBase{sep="/";constructor(e=process.cwd(),t={}){const{nocase:A=false}=t;super(e,n.posix,"/",{...t,nocase:A});this.nocase=A}parseRootPath(e){return"/"}newRoot(e){return new PathPosix(this.rootPath,I,undefined,this.roots,this.nocase,this.childrenCache(),{fs:e})}isAbsolute(e){return e.startsWith("/")}}t.PathScurryPosix=PathScurryPosix;class PathScurryDarwin extends PathScurryPosix{constructor(e=process.cwd(),t={}){const{nocase:A=true}=t;super(e,{...t,nocase:A})}}t.PathScurryDarwin=PathScurryDarwin;t.Path=process.platform==="win32"?PathWin32:PathPosix;t.PathScurry=process.platform==="win32"?PathScurryWin32:process.platform==="darwin"?PathScurryDarwin:PathScurryPosix},897:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:true});t.LRUCache=void 0;const A=typeof performance==="object"&&performance&&typeof performance.now==="function"?performance:Date;const s=new Set;const r=typeof process==="object"&&!!process?process:{};const emitWarning=(e,t,A,s)=>{typeof r.emitWarning==="function"?r.emitWarning(e,t,A,s):console.error(`[${A}] ${t}: ${e}`)};let o=globalThis.AbortController;let i=globalThis.AbortSignal;if(typeof o==="undefined"){i=class AbortSignal{onabort;_onabort=[];reason;aborted=false;addEventListener(e,t){this._onabort.push(t)}};o=class AbortController{constructor(){warnACPolyfill()}signal=new i;abort(e){if(this.signal.aborted)return;this.signal.reason=e;this.signal.aborted=true;for(const t of this.signal._onabort){t(e)}this.signal.onabort?.(e)}};let e=r.env?.LRU_CACHE_IGNORE_AC_WARNING!=="1";const warnACPolyfill=()=>{if(!e)return;e=false;emitWarning("AbortController is not defined. If using lru-cache in "+"node 14, load an AbortController polyfill from the "+"`node-abort-controller` package. A minimal polyfill is "+"provided for use by LRUCache.fetch(), but it should not be "+"relied upon in other contexts (eg, passing it to other APIs that "+"use AbortController/AbortSignal might have undesirable effects). "+"You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.","NO_ABORT_CONTROLLER","ENOTSUP",warnACPolyfill)}}const shouldWarn=e=>!s.has(e);const n=Symbol("type");const isPosInt=e=>e&&e===Math.floor(e)&&e>0&&isFinite(e);const getUintArray=e=>!isPosInt(e)?null:e<=Math.pow(2,8)?Uint8Array:e<=Math.pow(2,16)?Uint16Array:e<=Math.pow(2,32)?Uint32Array:e<=Number.MAX_SAFE_INTEGER?ZeroArray:null;class ZeroArray extends Array{constructor(e){super(e);this.fill(0)}}class Stack{heap;length;static#Oe=false;static create(e){const t=getUintArray(e);if(!t)return[];Stack.#Oe=true;const A=new Stack(e,t);Stack.#Oe=false;return A}constructor(e,t){if(!Stack.#Oe){throw new TypeError("instantiate Stack using Stack.create(n)")}this.heap=new t(e);this.length=0}push(e){this.heap[this.length++]=e}pop(){return this.heap[--this.length]}}class LRUCache{#He;#Ye;#Je;#Ve;#We;#qe;ttl;ttlResolution;ttlAutopurge;updateAgeOnGet;updateAgeOnHas;allowStale;noDisposeOnSet;noUpdateTTL;maxEntrySize;sizeCalculation;noDeleteOnFetchRejection;noDeleteOnStaleGet;allowStaleOnFetchAbort;allowStaleOnFetchRejection;ignoreFetchAbort;#te;#je;#ze;#Ze;#Xe;#Ke;#$e;#et;#tt;#At;#st;#rt;#ot;#it;#nt;#at;#ct;static unsafeExposeInternals(e){return{starts:e.#ot,ttls:e.#it,sizes:e.#rt,keyMap:e.#ze,keyList:e.#Ze,valList:e.#Xe,next:e.#Ke,prev:e.#$e,get head(){return e.#et},get tail(){return e.#tt},free:e.#At,isBackgroundFetch:t=>e.#lt(t),backgroundFetch:(t,A,s,r)=>e.#gt(t,A,s,r),moveToTail:t=>e.#ht(t),indexes:t=>e.#ut(t),rindexes:t=>e.#Et(t),isStale:t=>e.#dt(t)}}get max(){return this.#He}get maxSize(){return this.#Ye}get calculatedSize(){return this.#je}get size(){return this.#te}get fetchMethod(){return this.#We}get memoMethod(){return this.#qe}get dispose(){return this.#Je}get disposeAfter(){return this.#Ve}constructor(e){const{max:t=0,ttl:A,ttlResolution:r=1,ttlAutopurge:o,updateAgeOnGet:i,updateAgeOnHas:n,allowStale:a,dispose:c,disposeAfter:l,noDisposeOnSet:g,noUpdateTTL:h,maxSize:u=0,maxEntrySize:E=0,sizeCalculation:d,fetchMethod:p,memoMethod:Q,noDeleteOnFetchRejection:C,noDeleteOnStaleGet:B,allowStaleOnFetchRejection:I,allowStaleOnFetchAbort:y,ignoreFetchAbort:w}=e;if(t!==0&&!isPosInt(t)){throw new TypeError("max option must be a nonnegative integer")}const b=t?getUintArray(t):Array;if(!b){throw new Error("invalid max value: "+t)}this.#He=t;this.#Ye=u;this.maxEntrySize=E||this.#Ye;this.sizeCalculation=d;if(this.sizeCalculation){if(!this.#Ye&&!this.maxEntrySize){throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize")}if(typeof this.sizeCalculation!=="function"){throw new TypeError("sizeCalculation set to non-function")}}if(Q!==undefined&&typeof Q!=="function"){throw new TypeError("memoMethod must be a function if defined")}this.#qe=Q;if(p!==undefined&&typeof p!=="function"){throw new TypeError("fetchMethod must be a function if specified")}this.#We=p;this.#at=!!p;this.#ze=new Map;this.#Ze=new Array(t).fill(undefined);this.#Xe=new Array(t).fill(undefined);this.#Ke=new b(t);this.#$e=new b(t);this.#et=0;this.#tt=0;this.#At=Stack.create(t);this.#te=0;this.#je=0;if(typeof c==="function"){this.#Je=c}if(typeof l==="function"){this.#Ve=l;this.#st=[]}else{this.#Ve=undefined;this.#st=undefined}this.#nt=!!this.#Je;this.#ct=!!this.#Ve;this.noDisposeOnSet=!!g;this.noUpdateTTL=!!h;this.noDeleteOnFetchRejection=!!C;this.allowStaleOnFetchRejection=!!I;this.allowStaleOnFetchAbort=!!y;this.ignoreFetchAbort=!!w;if(this.maxEntrySize!==0){if(this.#Ye!==0){if(!isPosInt(this.#Ye)){throw new TypeError("maxSize must be a positive integer if specified")}}if(!isPosInt(this.maxEntrySize)){throw new TypeError("maxEntrySize must be a positive integer if specified")}this.#pt()}this.allowStale=!!a;this.noDeleteOnStaleGet=!!B;this.updateAgeOnGet=!!i;this.updateAgeOnHas=!!n;this.ttlResolution=isPosInt(r)||r===0?r:1;this.ttlAutopurge=!!o;this.ttl=A||0;if(this.ttl){if(!isPosInt(this.ttl)){throw new TypeError("ttl must be a positive integer if specified")}this.#Qt()}if(this.#He===0&&this.ttl===0&&this.#Ye===0){throw new TypeError("At least one of max, maxSize, or ttl is required")}if(!this.ttlAutopurge&&!this.#He&&!this.#Ye){const e="LRU_CACHE_UNBOUNDED";if(shouldWarn(e)){s.add(e);const t="TTL caching without ttlAutopurge, max, or maxSize can "+"result in unbounded memory consumption.";emitWarning(t,"UnboundedCacheWarning",e,LRUCache)}}}getRemainingTTL(e){return this.#ze.has(e)?Infinity:0}#Qt(){const e=new ZeroArray(this.#He);const t=new ZeroArray(this.#He);this.#it=e;this.#ot=t;this.#Ct=(s,r,o=A.now())=>{t[s]=r!==0?o:0;e[s]=r;if(r!==0&&this.ttlAutopurge){const e=setTimeout((()=>{if(this.#dt(s)){this.#Bt(this.#Ze[s],"expire")}}),r+1);if(e.unref){e.unref()}}};this.#ft=s=>{t[s]=e[s]!==0?A.now():0};this.#It=(A,r)=>{if(e[r]){const o=e[r];const i=t[r];if(!o||!i)return;A.ttl=o;A.start=i;A.now=s||getNow();const n=A.now-i;A.remainingTTL=o-n}};let s=0;const getNow=()=>{const e=A.now();if(this.ttlResolution>0){s=e;const t=setTimeout((()=>s=0),this.ttlResolution);if(t.unref){t.unref()}}return e};this.getRemainingTTL=A=>{const r=this.#ze.get(A);if(r===undefined){return 0}const o=e[r];const i=t[r];if(!o||!i){return Infinity}const n=(s||getNow())-i;return o-n};this.#dt=A=>{const r=t[A];const o=e[A];return!!o&&!!r&&(s||getNow())-r>o}}#ft=()=>{};#It=()=>{};#Ct=()=>{};#dt=()=>false;#pt(){const e=new ZeroArray(this.#He);this.#je=0;this.#rt=e;this.#mt=t=>{this.#je-=e[t];e[t]=0};this.#yt=(e,t,A,s)=>{if(this.#lt(t)){return 0}if(!isPosInt(A)){if(s){if(typeof s!=="function"){throw new TypeError("sizeCalculation must be a function")}A=s(t,e);if(!isPosInt(A)){throw new TypeError("sizeCalculation return invalid (expect positive integer)")}}else{throw new TypeError("invalid size value (must be positive integer). "+"When maxSize or maxEntrySize is used, sizeCalculation "+"or size must be set.")}}return A};this.#wt=(t,A,s)=>{e[t]=A;if(this.#Ye){const A=this.#Ye-e[t];while(this.#je>A){this.#bt(true)}}this.#je+=e[t];if(s){s.entrySize=A;s.totalCalculatedSize=this.#je}}}#mt=e=>{};#wt=(e,t,A)=>{};#yt=(e,t,A,s)=>{if(A||s){throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache")}return 0};*#ut({allowStale:e=this.allowStale}={}){if(this.#te){for(let t=this.#tt;true;){if(!this.#kt(t)){break}if(e||!this.#dt(t)){yield t}if(t===this.#et){break}else{t=this.#$e[t]}}}}*#Et({allowStale:e=this.allowStale}={}){if(this.#te){for(let t=this.#et;true;){if(!this.#kt(t)){break}if(e||!this.#dt(t)){yield t}if(t===this.#tt){break}else{t=this.#Ke[t]}}}}#kt(e){return e!==undefined&&this.#ze.get(this.#Ze[e])===e}*entries(){for(const e of this.#ut()){if(this.#Xe[e]!==undefined&&this.#Ze[e]!==undefined&&!this.#lt(this.#Xe[e])){yield[this.#Ze[e],this.#Xe[e]]}}}*rentries(){for(const e of this.#Et()){if(this.#Xe[e]!==undefined&&this.#Ze[e]!==undefined&&!this.#lt(this.#Xe[e])){yield[this.#Ze[e],this.#Xe[e]]}}}*keys(){for(const e of this.#ut()){const t=this.#Ze[e];if(t!==undefined&&!this.#lt(this.#Xe[e])){yield t}}}*rkeys(){for(const e of this.#Et()){const t=this.#Ze[e];if(t!==undefined&&!this.#lt(this.#Xe[e])){yield t}}}*values(){for(const e of this.#ut()){const t=this.#Xe[e];if(t!==undefined&&!this.#lt(this.#Xe[e])){yield this.#Xe[e]}}}*rvalues(){for(const e of this.#Et()){const t=this.#Xe[e];if(t!==undefined&&!this.#lt(this.#Xe[e])){yield this.#Xe[e]}}}[Symbol.iterator](){return this.entries()}[Symbol.toStringTag]="LRUCache";find(e,t={}){for(const A of this.#ut()){const s=this.#Xe[A];const r=this.#lt(s)?s.__staleWhileFetching:s;if(r===undefined)continue;if(e(r,this.#Ze[A],this)){return this.get(this.#Ze[A],t)}}}forEach(e,t=this){for(const A of this.#ut()){const s=this.#Xe[A];const r=this.#lt(s)?s.__staleWhileFetching:s;if(r===undefined)continue;e.call(t,r,this.#Ze[A],this)}}rforEach(e,t=this){for(const A of this.#Et()){const s=this.#Xe[A];const r=this.#lt(s)?s.__staleWhileFetching:s;if(r===undefined)continue;e.call(t,r,this.#Ze[A],this)}}purgeStale(){let e=false;for(const t of this.#Et({allowStale:true})){if(this.#dt(t)){this.#Bt(this.#Ze[t],"expire");e=true}}return e}info(e){const t=this.#ze.get(e);if(t===undefined)return undefined;const s=this.#Xe[t];const r=this.#lt(s)?s.__staleWhileFetching:s;if(r===undefined)return undefined;const o={value:r};if(this.#it&&this.#ot){const e=this.#it[t];const s=this.#ot[t];if(e&&s){const t=e-(A.now()-s);o.ttl=t;o.start=Date.now()}}if(this.#rt){o.size=this.#rt[t]}return o}dump(){const e=[];for(const t of this.#ut({allowStale:true})){const s=this.#Ze[t];const r=this.#Xe[t];const o=this.#lt(r)?r.__staleWhileFetching:r;if(o===undefined||s===undefined)continue;const i={value:o};if(this.#it&&this.#ot){i.ttl=this.#it[t];const e=A.now()-this.#ot[t];i.start=Math.floor(Date.now()-e)}if(this.#rt){i.size=this.#rt[t]}e.unshift([s,i])}return e}load(e){this.clear();for(const[t,s]of e){if(s.start){const e=Date.now()-s.start;s.start=A.now()-e}this.set(t,s.value,s)}}set(e,t,A={}){if(t===undefined){this.delete(e);return this}const{ttl:s=this.ttl,start:r,noDisposeOnSet:o=this.noDisposeOnSet,sizeCalculation:i=this.sizeCalculation,status:n}=A;let{noUpdateTTL:a=this.noUpdateTTL}=A;const c=this.#yt(e,t,A.size||0,i);if(this.maxEntrySize&&c>this.maxEntrySize){if(n){n.set="miss";n.maxEntrySizeExceeded=true}this.#Bt(e,"set");return this}let l=this.#te===0?undefined:this.#ze.get(e);if(l===undefined){l=this.#te===0?this.#tt:this.#At.length!==0?this.#At.pop():this.#te===this.#He?this.#bt(false):this.#te;this.#Ze[l]=e;this.#Xe[l]=t;this.#ze.set(e,l);this.#Ke[this.#tt]=l;this.#$e[l]=this.#tt;this.#tt=l;this.#te++;this.#wt(l,c,n);if(n)n.set="add";a=false}else{this.#ht(l);const A=this.#Xe[l];if(t!==A){if(this.#at&&this.#lt(A)){A.__abortController.abort(new Error("replaced"));const{__staleWhileFetching:t}=A;if(t!==undefined&&!o){if(this.#nt){this.#Je?.(t,e,"set")}if(this.#ct){this.#st?.push([t,e,"set"])}}}else if(!o){if(this.#nt){this.#Je?.(A,e,"set")}if(this.#ct){this.#st?.push([A,e,"set"])}}this.#mt(l);this.#wt(l,c,n);this.#Xe[l]=t;if(n){n.set="replace";const e=A&&this.#lt(A)?A.__staleWhileFetching:A;if(e!==undefined)n.oldValue=e}}else if(n){n.set="update"}}if(s!==0&&!this.#it){this.#Qt()}if(this.#it){if(!a){this.#Ct(l,s,r)}if(n)this.#It(n,l)}if(!o&&this.#ct&&this.#st){const e=this.#st;let t;while(t=e?.shift()){this.#Ve?.(...t)}}return this}pop(){try{while(this.#te){const e=this.#Xe[this.#et];this.#bt(true);if(this.#lt(e)){if(e.__staleWhileFetching){return e.__staleWhileFetching}}else if(e!==undefined){return e}}}finally{if(this.#ct&&this.#st){const e=this.#st;let t;while(t=e?.shift()){this.#Ve?.(...t)}}}}#bt(e){const t=this.#et;const A=this.#Ze[t];const s=this.#Xe[t];if(this.#at&&this.#lt(s)){s.__abortController.abort(new Error("evicted"))}else if(this.#nt||this.#ct){if(this.#nt){this.#Je?.(s,A,"evict")}if(this.#ct){this.#st?.push([s,A,"evict"])}}this.#mt(t);if(e){this.#Ze[t]=undefined;this.#Xe[t]=undefined;this.#At.push(t)}if(this.#te===1){this.#et=this.#tt=0;this.#At.length=0}else{this.#et=this.#Ke[t]}this.#ze.delete(A);this.#te--;return t}has(e,t={}){const{updateAgeOnHas:A=this.updateAgeOnHas,status:s}=t;const r=this.#ze.get(e);if(r!==undefined){const e=this.#Xe[r];if(this.#lt(e)&&e.__staleWhileFetching===undefined){return false}if(!this.#dt(r)){if(A){this.#ft(r)}if(s){s.has="hit";this.#It(s,r)}return true}else if(s){s.has="stale";this.#It(s,r)}}else if(s){s.has="miss"}return false}peek(e,t={}){const{allowStale:A=this.allowStale}=t;const s=this.#ze.get(e);if(s===undefined||!A&&this.#dt(s)){return}const r=this.#Xe[s];return this.#lt(r)?r.__staleWhileFetching:r}#gt(e,t,A,s){const r=t===undefined?undefined:this.#Xe[t];if(this.#lt(r)){return r}const i=new o;const{signal:n}=A;n?.addEventListener("abort",(()=>i.abort(n.reason)),{signal:i.signal});const a={signal:i.signal,options:A,context:s};const cb=(s,r=false)=>{const{aborted:o}=i.signal;const n=A.ignoreFetchAbort&&s!==undefined;if(A.status){if(o&&!r){A.status.fetchAborted=true;A.status.fetchError=i.signal.reason;if(n)A.status.fetchAbortIgnored=true}else{A.status.fetchResolved=true}}if(o&&!n&&!r){return fetchFail(i.signal.reason)}const l=c;if(this.#Xe[t]===c){if(s===undefined){if(l.__staleWhileFetching){this.#Xe[t]=l.__staleWhileFetching}else{this.#Bt(e,"fetch")}}else{if(A.status)A.status.fetchUpdated=true;this.set(e,s,a.options)}}return s};const eb=e=>{if(A.status){A.status.fetchRejected=true;A.status.fetchError=e}return fetchFail(e)};const fetchFail=s=>{const{aborted:r}=i.signal;const o=r&&A.allowStaleOnFetchAbort;const n=o||A.allowStaleOnFetchRejection;const a=n||A.noDeleteOnFetchRejection;const l=c;if(this.#Xe[t]===c){const A=!a||l.__staleWhileFetching===undefined;if(A){this.#Bt(e,"fetch")}else if(!o){this.#Xe[t]=l.__staleWhileFetching}}if(n){if(A.status&&l.__staleWhileFetching!==undefined){A.status.returnedStale=true}return l.__staleWhileFetching}else if(l.__returned===l){throw s}};const pcall=(t,s)=>{const o=this.#We?.(e,r,a);if(o&&o instanceof Promise){o.then((e=>t(e===undefined?undefined:e)),s)}i.signal.addEventListener("abort",(()=>{if(!A.ignoreFetchAbort||A.allowStaleOnFetchAbort){t(undefined);if(A.allowStaleOnFetchAbort){t=e=>cb(e,true)}}}))};if(A.status)A.status.fetchDispatched=true;const c=new Promise(pcall).then(cb,eb);const l=Object.assign(c,{__abortController:i,__staleWhileFetching:r,__returned:undefined});if(t===undefined){this.set(e,l,{...a.options,status:undefined});t=this.#ze.get(e)}else{this.#Xe[t]=l}return l}#lt(e){if(!this.#at)return false;const t=e;return!!t&&t instanceof Promise&&t.hasOwnProperty("__staleWhileFetching")&&t.__abortController instanceof o}async fetch(e,t={}){const{allowStale:A=this.allowStale,updateAgeOnGet:s=this.updateAgeOnGet,noDeleteOnStaleGet:r=this.noDeleteOnStaleGet,ttl:o=this.ttl,noDisposeOnSet:i=this.noDisposeOnSet,size:n=0,sizeCalculation:a=this.sizeCalculation,noUpdateTTL:c=this.noUpdateTTL,noDeleteOnFetchRejection:l=this.noDeleteOnFetchRejection,allowStaleOnFetchRejection:g=this.allowStaleOnFetchRejection,ignoreFetchAbort:h=this.ignoreFetchAbort,allowStaleOnFetchAbort:u=this.allowStaleOnFetchAbort,context:E,forceRefresh:d=false,status:p,signal:Q}=t;if(!this.#at){if(p)p.fetch="get";return this.get(e,{allowStale:A,updateAgeOnGet:s,noDeleteOnStaleGet:r,status:p})}const C={allowStale:A,updateAgeOnGet:s,noDeleteOnStaleGet:r,ttl:o,noDisposeOnSet:i,size:n,sizeCalculation:a,noUpdateTTL:c,noDeleteOnFetchRejection:l,allowStaleOnFetchRejection:g,allowStaleOnFetchAbort:u,ignoreFetchAbort:h,status:p,signal:Q};let B=this.#ze.get(e);if(B===undefined){if(p)p.fetch="miss";const t=this.#gt(e,B,C,E);return t.__returned=t}else{const t=this.#Xe[B];if(this.#lt(t)){const e=A&&t.__staleWhileFetching!==undefined;if(p){p.fetch="inflight";if(e)p.returnedStale=true}return e?t.__staleWhileFetching:t.__returned=t}const r=this.#dt(B);if(!d&&!r){if(p)p.fetch="hit";this.#ht(B);if(s){this.#ft(B)}if(p)this.#It(p,B);return t}const o=this.#gt(e,B,C,E);const i=o.__staleWhileFetching!==undefined;const n=i&&A;if(p){p.fetch=r?"stale":"refresh";if(n&&r)p.returnedStale=true}return n?o.__staleWhileFetching:o.__returned=o}}async forceFetch(e,t={}){const A=await this.fetch(e,t);if(A===undefined)throw new Error("fetch() returned undefined");return A}memo(e,t={}){const A=this.#qe;if(!A){throw new Error("no memoMethod provided to constructor")}const{context:s,forceRefresh:r,...o}=t;const i=this.get(e,o);if(!r&&i!==undefined)return i;const n=A(e,i,{options:o,context:s});this.set(e,n,o);return n}get(e,t={}){const{allowStale:A=this.allowStale,updateAgeOnGet:s=this.updateAgeOnGet,noDeleteOnStaleGet:r=this.noDeleteOnStaleGet,status:o}=t;const i=this.#ze.get(e);if(i!==undefined){const t=this.#Xe[i];const n=this.#lt(t);if(o)this.#It(o,i);if(this.#dt(i)){if(o)o.get="stale";if(!n){if(!r){this.#Bt(e,"expire")}if(o&&A)o.returnedStale=true;return A?t:undefined}else{if(o&&A&&t.__staleWhileFetching!==undefined){o.returnedStale=true}return A?t.__staleWhileFetching:undefined}}else{if(o)o.get="hit";if(n){return t.__staleWhileFetching}this.#ht(i);if(s){this.#ft(i)}return t}}else if(o){o.get="miss"}}#Rt(e,t){this.#$e[t]=e;this.#Ke[e]=t}#ht(e){if(e!==this.#tt){if(e===this.#et){this.#et=this.#Ke[e]}else{this.#Rt(this.#$e[e],this.#Ke[e])}this.#Rt(this.#tt,e);this.#tt=e}}delete(e){return this.#Bt(e,"delete")}#Bt(e,t){let A=false;if(this.#te!==0){const s=this.#ze.get(e);if(s!==undefined){A=true;if(this.#te===1){this.#Dt(t)}else{this.#mt(s);const A=this.#Xe[s];if(this.#lt(A)){A.__abortController.abort(new Error("deleted"))}else if(this.#nt||this.#ct){if(this.#nt){this.#Je?.(A,e,t)}if(this.#ct){this.#st?.push([A,e,t])}}this.#ze.delete(e);this.#Ze[s]=undefined;this.#Xe[s]=undefined;if(s===this.#tt){this.#tt=this.#$e[s]}else if(s===this.#et){this.#et=this.#Ke[s]}else{const e=this.#$e[s];this.#Ke[e]=this.#Ke[s];const t=this.#Ke[s];this.#$e[t]=this.#$e[s]}this.#te--;this.#At.push(s)}}}if(this.#ct&&this.#st?.length){const e=this.#st;let t;while(t=e?.shift()){this.#Ve?.(...t)}}return A}clear(){return this.#Dt("delete")}#Dt(e){for(const t of this.#Et({allowStale:true})){const A=this.#Xe[t];if(this.#lt(A)){A.__abortController.abort(new Error("deleted"))}else{const s=this.#Ze[t];if(this.#nt){this.#Je?.(A,s,e)}if(this.#ct){this.#st?.push([A,s,e])}}}this.#ze.clear();this.#Xe.fill(undefined);this.#Ze.fill(undefined);if(this.#it&&this.#ot){this.#it.fill(0);this.#ot.fill(0)}if(this.#rt){this.#rt.fill(0)}this.#et=0;this.#tt=0;this.#At.length=0;this.#je=0;this.#te=0;if(this.#ct&&this.#st){const e=this.#st;let t;while(t=e?.shift()){this.#Ve?.(...t)}}}}t.LRUCache=LRUCache}};var t={};function __nccwpck_require__(A){var s=t[A];if(s!==undefined){return s.exports}var r=t[A]={exports:{}};var o=true;try{e[A].call(r.exports,r,r.exports,__nccwpck_require__);o=false}finally{if(o)delete t[A]}return r.exports}if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var A=__nccwpck_require__(1730);module.exports=A})(); \ No newline at end of file +"use strict";var Nw=Object.create;var dp=Object.defineProperty;var Gw=Object.getOwnPropertyDescriptor;var Mw=Object.getOwnPropertyNames;var Lw=Object.getPrototypeOf,_w=Object.prototype.hasOwnProperty;var Q=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Yw=(e,t,s,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Mw(t))!_w.call(e,i)&&i!==s&&dp(e,i,{get:()=>t[i],enumerable:!(r=Gw(t,i))||r.enumerable});return e};var de=(e,t,s)=>(s=e!=null?Nw(Lw(e)):{},Yw(t||!e||!e.__esModule?dp(s,"default",{value:e,enumerable:!0}):s,e));var yp=Q(Ks=>{"use strict";var s2=require("net"),Hw=require("tls"),eA=require("http"),Ip=require("https"),Vw=require("events"),r2=require("assert"),qw=require("util");Ks.httpOverHttp=Ww;Ks.httpsOverHttp=jw;Ks.httpOverHttps=zw;Ks.httpsOverHttps=Zw;function Ww(e){var t=new Rt(e);return t.request=eA.request,t}function jw(e){var t=new Rt(e);return t.request=eA.request,t.createSocket=wp,t.defaultPort=443,t}function zw(e){var t=new Rt(e);return t.request=Ip.request,t}function Zw(e){var t=new Rt(e);return t.request=Ip.request,t.createSocket=wp,t.defaultPort=443,t}function Rt(e){var t=this;t.options=e||{},t.proxyOptions=t.options.proxy||{},t.maxSockets=t.options.maxSockets||eA.Agent.defaultMaxSockets,t.requests=[],t.sockets=[],t.on("free",function(r,i,o,n){for(var a=bp(i,o,n),A=0,c=t.requests.length;A=this.maxSockets){o.requests.push(n);return}o.createSocket(n,function(a){a.on("free",A),a.on("close",c),a.on("agentRemove",c),t.onSocket(a);function A(){o.emit("free",a,n)}function c(u){o.removeSocket(a),a.removeListener("free",A),a.removeListener("close",c),a.removeListener("agentRemove",c)}})};Rt.prototype.createSocket=function(t,s){var r=this,i={};r.sockets.push(i);var o=tA({},r.proxyOptions,{method:"CONNECT",path:t.host+":"+t.port,agent:!1,headers:{host:t.host+":"+t.port}});t.localAddress&&(o.localAddress=t.localAddress),o.proxyAuth&&(o.headers=o.headers||{},o.headers["Proxy-Authorization"]="Basic "+new Buffer(o.proxyAuth).toString("base64")),Zt("making CONNECT request");var n=r.request(o);n.useChunkedEncodingByDefault=!1,n.once("response",a),n.once("upgrade",A),n.once("connect",c),n.once("error",u),n.end();function a(l){l.upgrade=!0}function A(l,p,g){process.nextTick(function(){c(l,p,g)})}function c(l,p,g){if(n.removeAllListeners(),p.removeAllListeners(),l.statusCode!==200){Zt("tunneling socket could not be established, statusCode=%d",l.statusCode),p.destroy();var h=new Error("tunneling socket could not be established, statusCode="+l.statusCode);h.code="ECONNRESET",t.request.emit("error",h),r.removeSocket(i);return}if(g.length>0){Zt("got illegal response body from proxy"),p.destroy();var h=new Error("got illegal response body from proxy");h.code="ECONNRESET",t.request.emit("error",h),r.removeSocket(i);return}return Zt("tunneling connection has established"),r.sockets[r.sockets.indexOf(i)]=p,s(p)}function u(l){n.removeAllListeners(),Zt(`tunneling socket could not be established, cause=%s +`,l.message,l.stack);var p=new Error("tunneling socket could not be established, cause="+l.message);p.code="ECONNRESET",t.request.emit("error",p),r.removeSocket(i)}};Rt.prototype.removeSocket=function(t){var s=this.sockets.indexOf(t);if(s!==-1){this.sockets.splice(s,1);var r=this.requests.shift();r&&this.createSocket(r,function(i){r.request.onSocket(i)})}};function wp(e,t){var s=this;Rt.prototype.createSocket.call(s,e,function(r){var i=e.request.getHeader("host"),o=tA({},s.options,{socket:r,servername:i?i.replace(/:.*$/,""):e.host}),n=Hw.connect(0,o);s.sockets[s.sockets.indexOf(r)]=n,t(n)})}function bp(e,t,s){return typeof e=="string"?{host:e,port:t,localAddress:s}:e}function tA(e){for(var t=1,s=arguments.length;t{xp.exports=yp()});var j=Q((n2,vp)=>{vp.exports={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"),kInterceptors:Symbol("dispatch interceptors"),kMaxResponseSize:Symbol("max response size"),kHTTP2Session:Symbol("http2Session"),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"),kNoProxyAgent:Symbol("no proxy agent"),kHttpProxyAgent:Symbol("http proxy agent"),kHttpsProxyAgent:Symbol("https proxy agent")}});var Y=Q((a2,Xp)=>{"use strict";var kp=Symbol.for("undici.error.UND_ERR"),z=class extends Error{constructor(t){super(t),this.name="UndiciError",this.code="UND_ERR"}static[Symbol.hasInstance](t){return t&&t[kp]===!0}[kp]=!0},Dp=Symbol.for("undici.error.UND_ERR_CONNECT_TIMEOUT"),rA=class extends z{constructor(t){super(t),this.name="ConnectTimeoutError",this.message=t||"Connect Timeout Error",this.code="UND_ERR_CONNECT_TIMEOUT"}static[Symbol.hasInstance](t){return t&&t[Dp]===!0}[Dp]=!0},Rp=Symbol.for("undici.error.UND_ERR_HEADERS_TIMEOUT"),iA=class extends z{constructor(t){super(t),this.name="HeadersTimeoutError",this.message=t||"Headers Timeout Error",this.code="UND_ERR_HEADERS_TIMEOUT"}static[Symbol.hasInstance](t){return t&&t[Rp]===!0}[Rp]=!0},Tp=Symbol.for("undici.error.UND_ERR_HEADERS_OVERFLOW"),oA=class extends z{constructor(t){super(t),this.name="HeadersOverflowError",this.message=t||"Headers Overflow Error",this.code="UND_ERR_HEADERS_OVERFLOW"}static[Symbol.hasInstance](t){return t&&t[Tp]===!0}[Tp]=!0},Fp=Symbol.for("undici.error.UND_ERR_BODY_TIMEOUT"),nA=class extends z{constructor(t){super(t),this.name="BodyTimeoutError",this.message=t||"Body Timeout Error",this.code="UND_ERR_BODY_TIMEOUT"}static[Symbol.hasInstance](t){return t&&t[Fp]===!0}[Fp]=!0},Sp=Symbol.for("undici.error.UND_ERR_RESPONSE_STATUS_CODE"),aA=class extends z{constructor(t,s,r,i){super(t),this.name="ResponseStatusCodeError",this.message=t||"Response Status Code Error",this.code="UND_ERR_RESPONSE_STATUS_CODE",this.body=i,this.status=s,this.statusCode=s,this.headers=r}static[Symbol.hasInstance](t){return t&&t[Sp]===!0}[Sp]=!0},Up=Symbol.for("undici.error.UND_ERR_INVALID_ARG"),AA=class extends z{constructor(t){super(t),this.name="InvalidArgumentError",this.message=t||"Invalid Argument Error",this.code="UND_ERR_INVALID_ARG"}static[Symbol.hasInstance](t){return t&&t[Up]===!0}[Up]=!0},Np=Symbol.for("undici.error.UND_ERR_INVALID_RETURN_VALUE"),cA=class extends z{constructor(t){super(t),this.name="InvalidReturnValueError",this.message=t||"Invalid Return Value Error",this.code="UND_ERR_INVALID_RETURN_VALUE"}static[Symbol.hasInstance](t){return t&&t[Np]===!0}[Np]=!0},Gp=Symbol.for("undici.error.UND_ERR_ABORT"),Io=class extends z{constructor(t){super(t),this.name="AbortError",this.message=t||"The operation was aborted",this.code="UND_ERR_ABORT"}static[Symbol.hasInstance](t){return t&&t[Gp]===!0}[Gp]=!0},Mp=Symbol.for("undici.error.UND_ERR_ABORTED"),lA=class extends Io{constructor(t){super(t),this.name="AbortError",this.message=t||"Request aborted",this.code="UND_ERR_ABORTED"}static[Symbol.hasInstance](t){return t&&t[Mp]===!0}[Mp]=!0},Lp=Symbol.for("undici.error.UND_ERR_INFO"),uA=class extends z{constructor(t){super(t),this.name="InformationalError",this.message=t||"Request information",this.code="UND_ERR_INFO"}static[Symbol.hasInstance](t){return t&&t[Lp]===!0}[Lp]=!0},_p=Symbol.for("undici.error.UND_ERR_REQ_CONTENT_LENGTH_MISMATCH"),pA=class extends z{constructor(t){super(t),this.name="RequestContentLengthMismatchError",this.message=t||"Request body length does not match content-length header",this.code="UND_ERR_REQ_CONTENT_LENGTH_MISMATCH"}static[Symbol.hasInstance](t){return t&&t[_p]===!0}[_p]=!0},Yp=Symbol.for("undici.error.UND_ERR_RES_CONTENT_LENGTH_MISMATCH"),gA=class extends z{constructor(t){super(t),this.name="ResponseContentLengthMismatchError",this.message=t||"Response body length does not match content-length header",this.code="UND_ERR_RES_CONTENT_LENGTH_MISMATCH"}static[Symbol.hasInstance](t){return t&&t[Yp]===!0}[Yp]=!0},Op=Symbol.for("undici.error.UND_ERR_DESTROYED"),hA=class extends z{constructor(t){super(t),this.name="ClientDestroyedError",this.message=t||"The client is destroyed",this.code="UND_ERR_DESTROYED"}static[Symbol.hasInstance](t){return t&&t[Op]===!0}[Op]=!0},Jp=Symbol.for("undici.error.UND_ERR_CLOSED"),dA=class extends z{constructor(t){super(t),this.name="ClientClosedError",this.message=t||"The client is closed",this.code="UND_ERR_CLOSED"}static[Symbol.hasInstance](t){return t&&t[Jp]===!0}[Jp]=!0},Pp=Symbol.for("undici.error.UND_ERR_SOCKET"),EA=class extends z{constructor(t,s){super(t),this.name="SocketError",this.message=t||"Socket error",this.code="UND_ERR_SOCKET",this.socket=s}static[Symbol.hasInstance](t){return t&&t[Pp]===!0}[Pp]=!0},Hp=Symbol.for("undici.error.UND_ERR_NOT_SUPPORTED"),mA=class extends z{constructor(t){super(t),this.name="NotSupportedError",this.message=t||"Not supported error",this.code="UND_ERR_NOT_SUPPORTED"}static[Symbol.hasInstance](t){return t&&t[Hp]===!0}[Hp]=!0},Vp=Symbol.for("undici.error.UND_ERR_BPL_MISSING_UPSTREAM"),fA=class extends z{constructor(t){super(t),this.name="MissingUpstreamError",this.message=t||"No upstream has been added to the BalancedPool",this.code="UND_ERR_BPL_MISSING_UPSTREAM"}static[Symbol.hasInstance](t){return t&&t[Vp]===!0}[Vp]=!0},qp=Symbol.for("undici.error.UND_ERR_HTTP_PARSER"),QA=class extends Error{constructor(t,s,r){super(t),this.name="HTTPParserError",this.code=s?`HPE_${s}`:void 0,this.data=r?r.toString():void 0}static[Symbol.hasInstance](t){return t&&t[qp]===!0}[qp]=!0},Wp=Symbol.for("undici.error.UND_ERR_RES_EXCEEDED_MAX_SIZE"),BA=class extends z{constructor(t){super(t),this.name="ResponseExceededMaxSizeError",this.message=t||"Response content exceeded max size",this.code="UND_ERR_RES_EXCEEDED_MAX_SIZE"}static[Symbol.hasInstance](t){return t&&t[Wp]===!0}[Wp]=!0},jp=Symbol.for("undici.error.UND_ERR_REQ_RETRY"),CA=class extends z{constructor(t,s,{headers:r,data:i}){super(t),this.name="RequestRetryError",this.message=t||"Request retry error",this.code="UND_ERR_REQ_RETRY",this.statusCode=s,this.data=i,this.headers=r}static[Symbol.hasInstance](t){return t&&t[jp]===!0}[jp]=!0},zp=Symbol.for("undici.error.UND_ERR_RESPONSE"),IA=class extends z{constructor(t,s,{headers:r,data:i}){super(t),this.name="ResponseError",this.message=t||"Response error",this.code="UND_ERR_RESPONSE",this.statusCode=s,this.data=i,this.headers=r}static[Symbol.hasInstance](t){return t&&t[zp]===!0}[zp]=!0},Zp=Symbol.for("undici.error.UND_ERR_PRX_TLS"),wA=class extends z{constructor(t,s,r){super(s,{cause:t,...r??{}}),this.name="SecureProxyConnectionError",this.message=s||"Secure Proxy Connection failed",this.code="UND_ERR_PRX_TLS",this.cause=t}static[Symbol.hasInstance](t){return t&&t[Zp]===!0}[Zp]=!0},Kp=Symbol.for("undici.error.UND_ERR_WS_MESSAGE_SIZE_EXCEEDED"),bA=class extends z{constructor(t){super(t),this.name="MessageSizeExceededError",this.message=t||"Max decompressed message size exceeded",this.code="UND_ERR_WS_MESSAGE_SIZE_EXCEEDED"}static[Symbol.hasInstance](t){return t&&t[Kp]===!0}get[Kp](){return!0}};Xp.exports={AbortError:Io,HTTPParserError:QA,UndiciError:z,HeadersTimeoutError:iA,HeadersOverflowError:oA,BodyTimeoutError:nA,RequestContentLengthMismatchError:pA,ConnectTimeoutError:rA,ResponseStatusCodeError:aA,InvalidArgumentError:AA,InvalidReturnValueError:cA,RequestAbortedError:lA,ClientDestroyedError:hA,ClientClosedError:dA,InformationalError:uA,SocketError:EA,NotSupportedError:mA,ResponseContentLengthMismatchError:gA,BalancedPoolMissingUpstreamError:fA,ResponseExceededMaxSizeError:BA,RequestRetryError:CA,ResponseError:IA,SecureProxyConnectionError:wA,MessageSizeExceededError:bA}});var bo=Q((A2,$p)=>{"use strict";var wo={},yA=["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"];for(let e=0;e{"use strict";var{wellknownHeaderNames:eg,headerNameLowerCasedRecord:Kw}=bo(),xA=class e{value=null;left=null;middle=null;right=null;code;constructor(t,s,r){if(r===void 0||r>=t.length)throw new TypeError("Unreachable");if((this.code=t.charCodeAt(r))>127)throw new TypeError("key must be ascii string");t.length!==++r?this.middle=new e(t,s,r):this.value=s}add(t,s){let r=t.length;if(r===0)throw new TypeError("Unreachable");let i=0,o=this;for(;;){let n=t.charCodeAt(i);if(n>127)throw new TypeError("key must be ascii string");if(o.code===n)if(r===++i){o.value=s;break}else if(o.middle!==null)o=o.middle;else{o.middle=new e(t,s,i);break}else if(o.code=65&&(o|=32);i!==null;){if(o===i.code){if(s===++r)return i;i=i.middle;break}i=i.code{"use strict";var ei=require("node:assert"),{kDestroyed:og,kBodyUsed:Xs,kListeners:vA,kBody:ig}=j(),{IncomingMessage:Xw}=require("node:http"),ko=require("node:stream"),$w=require("node:net"),{Blob:eb}=require("node:buffer"),tb=require("node:util"),{stringify:sb}=require("node:querystring"),{EventEmitter:rb}=require("node:events"),{InvalidArgumentError:ne}=Y(),{headerNameLowerCasedRecord:ib}=bo(),{tree:ng}=rg(),[ob,nb]=process.versions.node.split(".").map(e=>Number(e)),vo=class{constructor(t){this[ig]=t,this[Xs]=!1}async*[Symbol.asyncIterator](){ei(!this[Xs],"disturbed"),this[Xs]=!0,yield*this[ig]}};function ab(e){return Do(e)?(ug(e)===0&&e.on("data",function(){ei(!1)}),typeof e.readableDidRead!="boolean"&&(e[Xs]=!1,rb.prototype.on.call(e,"data",function(){this[Xs]=!0})),e):e&&typeof e.pipeTo=="function"?new vo(e):e&&typeof e!="string"&&!ArrayBuffer.isView(e)&&lg(e)?new vo(e):e}function Ab(){}function Do(e){return e&&typeof e=="object"&&typeof e.pipe=="function"&&typeof e.on=="function"}function ag(e){if(e===null)return!1;if(e instanceof eb)return!0;if(typeof e!="object")return!1;{let t=e[Symbol.toStringTag];return(t==="Blob"||t==="File")&&("stream"in e&&typeof e.stream=="function"||"arrayBuffer"in e&&typeof e.arrayBuffer=="function")}}function cb(e,t){if(e.includes("?")||e.includes("#"))throw new Error('Query params cannot be passed when url already contains "?" or "#".');let s=sb(t);return s&&(e+="?"+s),e}function Ag(e){let t=parseInt(e,10);return t===Number(e)&&t>=0&&t<=65535}function xo(e){return e!=null&&e[0]==="h"&&e[1]==="t"&&e[2]==="t"&&e[3]==="p"&&(e[4]===":"||e[4]==="s"&&e[5]===":")}function cg(e){if(typeof e=="string"){if(e=new URL(e),!xo(e.origin||e.protocol))throw new ne("Invalid URL protocol: the URL must start with `http:` or `https:`.");return e}if(!e||typeof e!="object")throw new ne("Invalid URL: The URL argument must be a non-null object.");if(!(e instanceof URL)){if(e.port!=null&&e.port!==""&&Ag(e.port)===!1)throw new ne("Invalid URL: port must be a valid integer or a string representation of an integer.");if(e.path!=null&&typeof e.path!="string")throw new ne("Invalid URL path: the path must be a string or null/undefined.");if(e.pathname!=null&&typeof e.pathname!="string")throw new ne("Invalid URL pathname: the pathname must be a string or null/undefined.");if(e.hostname!=null&&typeof e.hostname!="string")throw new ne("Invalid URL hostname: the hostname must be a string or null/undefined.");if(e.origin!=null&&typeof e.origin!="string")throw new ne("Invalid URL origin: the origin must be a string or null/undefined.");if(!xo(e.origin||e.protocol))throw new ne("Invalid URL protocol: the URL must start with `http:` or `https:`.");let t=e.port!=null?e.port:e.protocol==="https:"?443:80,s=e.origin!=null?e.origin:`${e.protocol||""}//${e.hostname||""}:${t}`,r=e.path!=null?e.path:`${e.pathname||""}${e.search||""}`;return s[s.length-1]==="/"&&(s=s.slice(0,s.length-1)),r&&r[0]!=="/"&&(r=`/${r}`),new URL(`${s}${r}`)}if(!xo(e.origin||e.protocol))throw new ne("Invalid URL protocol: the URL must start with `http:` or `https:`.");return e}function lb(e){if(e=cg(e),e.pathname!=="/"||e.search||e.hash)throw new ne("invalid url");return e}function ub(e){if(e[0]==="["){let s=e.indexOf("]");return ei(s!==-1),e.substring(1,s)}let t=e.indexOf(":");return t===-1?e:e.substring(0,t)}function pb(e){if(!e)return null;ei(typeof e=="string");let t=ub(e);return $w.isIP(t)?"":t}function gb(e){return JSON.parse(JSON.stringify(e))}function hb(e){return e!=null&&typeof e[Symbol.asyncIterator]=="function"}function lg(e){return e!=null&&(typeof e[Symbol.iterator]=="function"||typeof e[Symbol.asyncIterator]=="function")}function ug(e){if(e==null)return 0;if(Do(e)){let t=e._readableState;return t&&t.objectMode===!1&&t.ended===!0&&Number.isFinite(t.length)?t.length:null}else{if(ag(e))return e.size!=null?e.size:null;if(hg(e))return e.byteLength}return null}function pg(e){return e&&!!(e.destroyed||e[og]||ko.isDestroyed?.(e))}function db(e,t){e==null||!Do(e)||pg(e)||(typeof e.destroy=="function"?(Object.getPrototypeOf(e).constructor===Xw&&(e.socket=null),e.destroy(t)):t&&queueMicrotask(()=>{e.emit("error",t)}),e.destroyed!==!0&&(e[og]=!0))}var Eb=/timeout=(\d+)/;function mb(e){let t=e.toString().match(Eb);return t?parseInt(t[1],10)*1e3:null}function gg(e){return typeof e=="string"?ib[e]??e.toLowerCase():ng.lookup(e)??e.toString("latin1").toLowerCase()}function fb(e){return ng.lookup(e)??e.toString("latin1").toLowerCase()}function Qb(e,t){t===void 0&&(t={});for(let s=0;sn.toString("utf8")):o.toString("utf8")}}return"content-length"in t&&"content-disposition"in t&&(t["content-disposition"]=Buffer.from(t["content-disposition"]).toString("latin1")),t}function Bb(e){let t=e.length,s=new Array(t),r=!1,i=-1,o,n,a=0;for(let A=0;A{s.close(),s.byobRequest?.respond(0)});else{let o=Buffer.isBuffer(i)?i:Buffer.from(i);o.byteLength&&s.enqueue(new Uint8Array(o))}return s.desiredSize>0},async cancel(s){await t.return()},type:"bytes"})}function vb(e){return e&&typeof e=="object"&&typeof e.append=="function"&&typeof e.delete=="function"&&typeof e.get=="function"&&typeof e.getAll=="function"&&typeof e.has=="function"&&typeof e.set=="function"&&e[Symbol.toStringTag]==="FormData"}function kb(e,t){return"addEventListener"in e?(e.addEventListener("abort",t,{once:!0}),()=>e.removeEventListener("abort",t)):(e.addListener("abort",t),()=>e.removeListener("abort",t))}var Db=typeof String.prototype.toWellFormed=="function",Rb=typeof String.prototype.isWellFormed=="function";function dg(e){return Db?`${e}`.toWellFormed():tb.toUSVString(e)}function Tb(e){return Rb?`${e}`.isWellFormed():dg(e)===`${e}`}function Eg(e){switch(e){case 34:case 40:case 41:case 44:case 47:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 91:case 92:case 93:case 123:case 125:return!1;default:return e>=33&&e<=126}}function Fb(e){if(e.length===0)return!1;for(let t=0;t{"use strict";var J=require("node:diagnostics_channel"),RA=require("node:util"),Ro=RA.debuglog("undici"),DA=RA.debuglog("fetch"),Bs=RA.debuglog("websocket"),Bg=!1,_b={beforeConnect:J.channel("undici:client:beforeConnect"),connected:J.channel("undici:client:connected"),connectError:J.channel("undici:client:connectError"),sendHeaders:J.channel("undici:client:sendHeaders"),create:J.channel("undici:request:create"),bodySent:J.channel("undici:request:bodySent"),headers:J.channel("undici:request:headers"),trailers:J.channel("undici:request:trailers"),error:J.channel("undici:request:error"),open:J.channel("undici:websocket:open"),close:J.channel("undici:websocket:close"),socketError:J.channel("undici:websocket:socket_error"),ping:J.channel("undici:websocket:ping"),pong:J.channel("undici:websocket:pong")};if(Ro.enabled||DA.enabled){let e=DA.enabled?DA:Ro;J.channel("undici:client:beforeConnect").subscribe(t=>{let{connectParams:{version:s,protocol:r,port:i,host:o}}=t;e("connecting to %s using %s%s",`${o}${i?`:${i}`:""}`,r,s)}),J.channel("undici:client:connected").subscribe(t=>{let{connectParams:{version:s,protocol:r,port:i,host:o}}=t;e("connected to %s using %s%s",`${o}${i?`:${i}`:""}`,r,s)}),J.channel("undici:client:connectError").subscribe(t=>{let{connectParams:{version:s,protocol:r,port:i,host:o},error:n}=t;e("connection to %s using %s%s errored - %s",`${o}${i?`:${i}`:""}`,r,s,n.message)}),J.channel("undici:client:sendHeaders").subscribe(t=>{let{request:{method:s,path:r,origin:i}}=t;e("sending request to %s %s/%s",s,i,r)}),J.channel("undici:request:headers").subscribe(t=>{let{request:{method:s,path:r,origin:i},response:{statusCode:o}}=t;e("received response to %s %s/%s - HTTP %d",s,i,r,o)}),J.channel("undici:request:trailers").subscribe(t=>{let{request:{method:s,path:r,origin:i}}=t;e("trailers received from %s %s/%s",s,i,r)}),J.channel("undici:request:error").subscribe(t=>{let{request:{method:s,path:r,origin:i},error:o}=t;e("request to %s %s/%s errored - %s",s,i,r,o.message)}),Bg=!0}if(Bs.enabled){if(!Bg){let e=Ro.enabled?Ro:Bs;J.channel("undici:client:beforeConnect").subscribe(t=>{let{connectParams:{version:s,protocol:r,port:i,host:o}}=t;e("connecting to %s%s using %s%s",o,i?`:${i}`:"",r,s)}),J.channel("undici:client:connected").subscribe(t=>{let{connectParams:{version:s,protocol:r,port:i,host:o}}=t;e("connected to %s%s using %s%s",o,i?`:${i}`:"",r,s)}),J.channel("undici:client:connectError").subscribe(t=>{let{connectParams:{version:s,protocol:r,port:i,host:o},error:n}=t;e("connection to %s%s using %s%s errored - %s",o,i?`:${i}`:"",r,s,n.message)}),J.channel("undici:client:sendHeaders").subscribe(t=>{let{request:{method:s,path:r,origin:i}}=t;e("sending request to %s %s/%s",s,i,r)})}J.channel("undici:websocket:open").subscribe(e=>{let{address:{address:t,port:s}}=e;Bs("connection opened %s%s",t,s?`:${s}`:"")}),J.channel("undici:websocket:close").subscribe(e=>{let{websocket:t,code:s,reason:r}=e;Bs("closed connection to %s - %s %s",t.url,s,r)}),J.channel("undici:websocket:socket_error").subscribe(e=>{Bs("connection errored - %s",e.message)}),J.channel("undici:websocket:ping").subscribe(e=>{Bs("ping received")}),J.channel("undici:websocket:pong").subscribe(e=>{Bs("pong received")})}Cg.exports={channels:_b}});var yg=Q((p2,bg)=>{"use strict";var{InvalidArgumentError:V,NotSupportedError:Yb}=Y(),Tt=require("node:assert"),{isValidHTTPToken:wg,isValidHeaderValue:TA,isStream:Ob,destroy:Jb,isBuffer:Pb,isFormDataLike:Hb,isIterable:Vb,isBlobLike:qb,buildURL:Wb,validateHandler:jb,getServerName:zb,normalizedMethodRecords:Zb}=N(),{channels:dt}=$s(),{headerNameLowerCasedRecord:Ig}=bo(),Kb=/[^\u0021-\u00ff]/,Ve=Symbol("handler"),FA=class{constructor(t,{path:s,method:r,body:i,headers:o,query:n,idempotent:a,blocking:A,upgrade:c,headersTimeout:u,bodyTimeout:l,reset:p,throwOnError:g,expectContinue:h,servername:E},f){if(typeof s!="string")throw new V("path must be a string");if(s[0]!=="/"&&!(s.startsWith("http://")||s.startsWith("https://"))&&r!=="CONNECT")throw new V("path must be an absolute URL or start with a slash");if(Kb.test(s))throw new V("invalid request path");if(typeof r!="string")throw new V("method must be a string");if(Zb[r]===void 0&&!wg(r))throw new V("invalid request method");if(c&&typeof c!="string")throw new V("upgrade must be a string");if(c&&!TA(c))throw new V("invalid upgrade header");if(u!=null&&(!Number.isFinite(u)||u<0))throw new V("invalid headersTimeout");if(l!=null&&(!Number.isFinite(l)||l<0))throw new V("invalid bodyTimeout");if(p!=null&&typeof p!="boolean")throw new V("invalid reset");if(h!=null&&typeof h!="boolean")throw new V("invalid expectContinue");if(this.headersTimeout=u,this.bodyTimeout=l,this.throwOnError=g===!0,this.method=r,this.abort=null,i==null)this.body=null;else if(Ob(i)){this.body=i;let d=this.body._readableState;(!d||!d.autoDestroy)&&(this.endHandler=function(){Jb(this)},this.body.on("end",this.endHandler)),this.errorHandler=m=>{this.abort?this.abort(m):this.error=m},this.body.on("error",this.errorHandler)}else if(Pb(i))this.body=i.byteLength?i:null;else if(ArrayBuffer.isView(i))this.body=i.buffer.byteLength?Buffer.from(i.buffer,i.byteOffset,i.byteLength):null;else if(i instanceof ArrayBuffer)this.body=i.byteLength?Buffer.from(i):null;else if(typeof i=="string")this.body=i.length?Buffer.from(i):null;else if(Hb(i)||Vb(i)||qb(i))this.body=i;else throw new V("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=c||null,this.path=n?Wb(s,n):s,this.origin=t,this.idempotent=a??(r==="HEAD"||r==="GET"),this.blocking=A??!1,this.reset=p??null,this.host=null,this.contentLength=null,this.contentType=null,this.headers=[],this.expectContinue=h??!1,Array.isArray(o)){if(o.length%2!==0)throw new V("headers array must be even");for(let d=0;d{"use strict";var Xb=require("node:events"),Fo=class extends Xb{dispatch(){throw new Error("not implemented")}close(){throw new Error("not implemented")}destroy(){throw new Error("not implemented")}compose(...t){let s=Array.isArray(t[0])?t[0]:t,r=this.dispatch.bind(this);for(let i of s)if(i!=null){if(typeof i!="function")throw new TypeError(`invalid interceptor, expected function received ${typeof i}`);if(r=i(r),r==null||typeof r!="function"||r.length!==2)throw new TypeError("invalid interceptor")}return new SA(this,r)}},SA=class extends Fo{#e=null;#t=null;constructor(t,s){super(),this.#e=t,this.#t=s}dispatch(...t){this.#t(...t)}close(...t){return this.#e.close(...t)}destroy(...t){return this.#e.destroy(...t)}};xg.exports=Fo});var rr=Q((h2,vg)=>{"use strict";var $b=ti(),{ClientDestroyedError:UA,ClientClosedError:ey,InvalidArgumentError:er}=Y(),{kDestroy:ty,kClose:sy,kClosed:si,kDestroyed:tr,kDispatch:NA,kInterceptors:Cs}=j(),Ft=Symbol("onDestroyed"),sr=Symbol("onClosed"),So=Symbol("Intercepted Dispatch"),GA=class extends $b{constructor(){super(),this[tr]=!1,this[Ft]=null,this[si]=!1,this[sr]=[]}get destroyed(){return this[tr]}get closed(){return this[si]}get interceptors(){return this[Cs]}set interceptors(t){if(t){for(let s=t.length-1;s>=0;s--)if(typeof this[Cs][s]!="function")throw new er("interceptor must be an function")}this[Cs]=t}close(t){if(t===void 0)return new Promise((r,i)=>{this.close((o,n)=>o?i(o):r(n))});if(typeof t!="function")throw new er("invalid callback");if(this[tr]){queueMicrotask(()=>t(new UA,null));return}if(this[si]){this[sr]?this[sr].push(t):queueMicrotask(()=>t(null,null));return}this[si]=!0,this[sr].push(t);let s=()=>{let r=this[sr];this[sr]=null;for(let i=0;ithis.destroy()).then(()=>{queueMicrotask(s)})}destroy(t,s){if(typeof t=="function"&&(s=t,t=null),s===void 0)return new Promise((i,o)=>{this.destroy(t,(n,a)=>n?o(n):i(a))});if(typeof s!="function")throw new er("invalid callback");if(this[tr]){this[Ft]?this[Ft].push(s):queueMicrotask(()=>s(null,null));return}t||(t=new UA),this[tr]=!0,this[Ft]=this[Ft]||[],this[Ft].push(s);let r=()=>{let i=this[Ft];this[Ft]=null;for(let o=0;o{queueMicrotask(r)})}[So](t,s){if(!this[Cs]||this[Cs].length===0)return this[So]=this[NA],this[NA](t,s);let r=this[NA].bind(this);for(let i=this[Cs].length-1;i>=0;i--)r=this[Cs][i](r);return this[So]=r,r(t,s)}dispatch(t,s){if(!s||typeof s!="object")throw new er("handler must be an object");try{if(!t||typeof t!="object")throw new er("opts must be an object.");if(this[tr]||this[Ft])throw new UA;if(this[si])throw new ey;return this[So](t,s)}catch(r){if(typeof s.onError!="function")throw new er("invalid onError method");return s.onError(r),!1}}};vg.exports=GA});var PA=Q((d2,Tg)=>{"use strict";var ir=0,MA=1e3,LA=(MA>>1)-1,St,_A=Symbol("kFastTimer"),Ut=[],YA=-2,OA=-1,Dg=0,kg=1;function JA(){ir+=LA;let e=0,t=Ut.length;for(;e=s._idleStart+s._idleTimeout&&(s._state=OA,s._idleStart=-1,s._onTimeout(s._timerArg)),s._state===OA?(s._state=YA,--t!==0&&(Ut[e]=Ut[t])):++e}Ut.length=t,Ut.length!==0&&Rg()}function Rg(){St?St.refresh():(clearTimeout(St),St=setTimeout(JA,LA),St.unref&&St.unref())}var Uo=class{[_A]=!0;_state=YA;_idleTimeout=-1;_idleStart=-1;_onTimeout;_timerArg;constructor(t,s,r){this._onTimeout=t,this._idleTimeout=s,this._timerArg=r,this.refresh()}refresh(){this._state===YA&&Ut.push(this),(!St||Ut.length===1)&&Rg(),this._state=Dg}clear(){this._state=OA,this._idleStart=-1}};Tg.exports={setTimeout(e,t,s){return t<=MA?setTimeout(e,t,s):new Uo(e,t,s)},clearTimeout(e){e[_A]?e.clear():clearTimeout(e)},setFastTimeout(e,t,s){return new Uo(e,t,s)},clearFastTimeout(e){e.clear()},now(){return ir},tick(e=0){ir+=e-MA+1,JA(),JA()},reset(){ir=0,Ut.length=0,clearTimeout(St),St=null},kFastTimer:_A}});var ri=Q((f2,Gg)=>{"use strict";var ry=require("node:net"),Fg=require("node:assert"),Ng=N(),{InvalidArgumentError:iy,ConnectTimeoutError:oy}=Y(),No=PA();function Sg(){}var HA,VA;global.FinalizationRegistry&&!(process.env.NODE_V8_COVERAGE||process.env.UNDICI_NO_FG)?VA=class{constructor(t){this._maxCachedSessions=t,this._sessionCache=new Map,this._sessionRegistry=new global.FinalizationRegistry(s=>{if(this._sessionCache.size=this._maxCachedSessions){let{value:r}=this._sessionCache.keys().next();this._sessionCache.delete(r)}this._sessionCache.set(t,s)}}};function ny({allowH2:e,maxCachedSessions:t,socketPath:s,timeout:r,session:i,...o}){if(t!=null&&(!Number.isInteger(t)||t<0))throw new iy("maxCachedSessions must be a positive integer or zero");let n={path:s,...o},a=new VA(t??100);return r=r??1e4,e=e??!1,function({hostname:c,host:u,protocol:l,port:p,servername:g,localAddress:h,httpSocket:E},f){let d;if(l==="https:"){HA||(HA=require("node:tls")),g=g||n.servername||Ng.getServerName(u)||null;let C=g||c;Fg(C);let B=i||a.get(C)||null;p=p||443,d=HA.connect({highWaterMark:16384,...n,servername:g,session:B,localAddress:h,ALPNProtocols:e?["http/1.1","h2"]:["http/1.1"],socket:E,port:p,host:c}),d.on("session",function(b){a.set(C,b)})}else Fg(!E,"httpSocket can only be sent on TLS update"),p=p||80,d=ry.connect({highWaterMark:64*1024,...n,localAddress:h,port:p,host:c});if(n.keepAlive==null||n.keepAlive){let C=n.keepAliveInitialDelay===void 0?6e4:n.keepAliveInitialDelay;d.setKeepAlive(!0,C)}let m=ay(new WeakRef(d),{timeout:r,hostname:c,port:p});return d.setNoDelay(!0).once(l==="https:"?"secureConnect":"connect",function(){if(queueMicrotask(m),f){let C=f;f=null,C(null,this)}}).on("error",function(C){if(queueMicrotask(m),f){let B=f;f=null,B(C)}}),d}}var ay=process.platform==="win32"?(e,t)=>{if(!t.timeout)return Sg;let s=null,r=null,i=No.setFastTimeout(()=>{s=setImmediate(()=>{r=setImmediate(()=>Ug(e.deref(),t))})},t.timeout);return()=>{No.clearFastTimeout(i),clearImmediate(s),clearImmediate(r)}}:(e,t)=>{if(!t.timeout)return Sg;let s=null,r=No.setFastTimeout(()=>{s=setImmediate(()=>{Ug(e.deref(),t)})},t.timeout);return()=>{No.clearFastTimeout(r),clearImmediate(s)}};function Ug(e,t){if(e==null)return;let s="Connect Timeout Error";Array.isArray(e.autoSelectFamilyAttemptedAddresses)?s+=` (attempted addresses: ${e.autoSelectFamilyAttemptedAddresses.join(", ")},`:s+=` (attempted address: ${t.hostname}:${t.port},`,s+=` timeout: ${t.timeout}ms)`,Ng.destroy(e,new oy(s))}Gg.exports=ny});var Mg=Q(Go=>{"use strict";Object.defineProperty(Go,"__esModule",{value:!0});Go.enumToMap=void 0;function Ay(e){let t={};return Object.keys(e).forEach(s=>{let r=e[s];typeof r=="number"&&(t[s]=r)}),t}Go.enumToMap=Ay});var Lg=Q(w=>{"use strict";Object.defineProperty(w,"__esModule",{value:!0});w.SPECIAL_HEADERS=w.HEADER_STATE=w.MINOR=w.MAJOR=w.CONNECTION_TOKEN_CHARS=w.HEADER_CHARS=w.TOKEN=w.STRICT_TOKEN=w.HEX=w.URL_CHAR=w.STRICT_URL_CHAR=w.USERINFO_CHARS=w.MARK=w.ALPHANUM=w.NUM=w.HEX_MAP=w.NUM_MAP=w.ALPHA=w.FINISH=w.H_METHOD_MAP=w.METHOD_MAP=w.METHODS_RTSP=w.METHODS_ICE=w.METHODS_HTTP=w.METHODS=w.LENIENT_FLAGS=w.FLAGS=w.TYPE=w.ERROR=void 0;var cy=Mg(),ly;(function(e){e[e.OK=0]="OK",e[e.INTERNAL=1]="INTERNAL",e[e.STRICT=2]="STRICT",e[e.LF_EXPECTED=3]="LF_EXPECTED",e[e.UNEXPECTED_CONTENT_LENGTH=4]="UNEXPECTED_CONTENT_LENGTH",e[e.CLOSED_CONNECTION=5]="CLOSED_CONNECTION",e[e.INVALID_METHOD=6]="INVALID_METHOD",e[e.INVALID_URL=7]="INVALID_URL",e[e.INVALID_CONSTANT=8]="INVALID_CONSTANT",e[e.INVALID_VERSION=9]="INVALID_VERSION",e[e.INVALID_HEADER_TOKEN=10]="INVALID_HEADER_TOKEN",e[e.INVALID_CONTENT_LENGTH=11]="INVALID_CONTENT_LENGTH",e[e.INVALID_CHUNK_SIZE=12]="INVALID_CHUNK_SIZE",e[e.INVALID_STATUS=13]="INVALID_STATUS",e[e.INVALID_EOF_STATE=14]="INVALID_EOF_STATE",e[e.INVALID_TRANSFER_ENCODING=15]="INVALID_TRANSFER_ENCODING",e[e.CB_MESSAGE_BEGIN=16]="CB_MESSAGE_BEGIN",e[e.CB_HEADERS_COMPLETE=17]="CB_HEADERS_COMPLETE",e[e.CB_MESSAGE_COMPLETE=18]="CB_MESSAGE_COMPLETE",e[e.CB_CHUNK_HEADER=19]="CB_CHUNK_HEADER",e[e.CB_CHUNK_COMPLETE=20]="CB_CHUNK_COMPLETE",e[e.PAUSED=21]="PAUSED",e[e.PAUSED_UPGRADE=22]="PAUSED_UPGRADE",e[e.PAUSED_H2_UPGRADE=23]="PAUSED_H2_UPGRADE",e[e.USER=24]="USER"})(ly=w.ERROR||(w.ERROR={}));var uy;(function(e){e[e.BOTH=0]="BOTH",e[e.REQUEST=1]="REQUEST",e[e.RESPONSE=2]="RESPONSE"})(uy=w.TYPE||(w.TYPE={}));var py;(function(e){e[e.CONNECTION_KEEP_ALIVE=1]="CONNECTION_KEEP_ALIVE",e[e.CONNECTION_CLOSE=2]="CONNECTION_CLOSE",e[e.CONNECTION_UPGRADE=4]="CONNECTION_UPGRADE",e[e.CHUNKED=8]="CHUNKED",e[e.UPGRADE=16]="UPGRADE",e[e.CONTENT_LENGTH=32]="CONTENT_LENGTH",e[e.SKIPBODY=64]="SKIPBODY",e[e.TRAILING=128]="TRAILING",e[e.TRANSFER_ENCODING=512]="TRANSFER_ENCODING"})(py=w.FLAGS||(w.FLAGS={}));var gy;(function(e){e[e.HEADERS=1]="HEADERS",e[e.CHUNKED_LENGTH=2]="CHUNKED_LENGTH",e[e.KEEP_ALIVE=4]="KEEP_ALIVE"})(gy=w.LENIENT_FLAGS||(w.LENIENT_FLAGS={}));var v;(function(e){e[e.DELETE=0]="DELETE",e[e.GET=1]="GET",e[e.HEAD=2]="HEAD",e[e.POST=3]="POST",e[e.PUT=4]="PUT",e[e.CONNECT=5]="CONNECT",e[e.OPTIONS=6]="OPTIONS",e[e.TRACE=7]="TRACE",e[e.COPY=8]="COPY",e[e.LOCK=9]="LOCK",e[e.MKCOL=10]="MKCOL",e[e.MOVE=11]="MOVE",e[e.PROPFIND=12]="PROPFIND",e[e.PROPPATCH=13]="PROPPATCH",e[e.SEARCH=14]="SEARCH",e[e.UNLOCK=15]="UNLOCK",e[e.BIND=16]="BIND",e[e.REBIND=17]="REBIND",e[e.UNBIND=18]="UNBIND",e[e.ACL=19]="ACL",e[e.REPORT=20]="REPORT",e[e.MKACTIVITY=21]="MKACTIVITY",e[e.CHECKOUT=22]="CHECKOUT",e[e.MERGE=23]="MERGE",e[e["M-SEARCH"]=24]="M-SEARCH",e[e.NOTIFY=25]="NOTIFY",e[e.SUBSCRIBE=26]="SUBSCRIBE",e[e.UNSUBSCRIBE=27]="UNSUBSCRIBE",e[e.PATCH=28]="PATCH",e[e.PURGE=29]="PURGE",e[e.MKCALENDAR=30]="MKCALENDAR",e[e.LINK=31]="LINK",e[e.UNLINK=32]="UNLINK",e[e.SOURCE=33]="SOURCE",e[e.PRI=34]="PRI",e[e.DESCRIBE=35]="DESCRIBE",e[e.ANNOUNCE=36]="ANNOUNCE",e[e.SETUP=37]="SETUP",e[e.PLAY=38]="PLAY",e[e.PAUSE=39]="PAUSE",e[e.TEARDOWN=40]="TEARDOWN",e[e.GET_PARAMETER=41]="GET_PARAMETER",e[e.SET_PARAMETER=42]="SET_PARAMETER",e[e.REDIRECT=43]="REDIRECT",e[e.RECORD=44]="RECORD",e[e.FLUSH=45]="FLUSH"})(v=w.METHODS||(w.METHODS={}));w.METHODS_HTTP=[v.DELETE,v.GET,v.HEAD,v.POST,v.PUT,v.CONNECT,v.OPTIONS,v.TRACE,v.COPY,v.LOCK,v.MKCOL,v.MOVE,v.PROPFIND,v.PROPPATCH,v.SEARCH,v.UNLOCK,v.BIND,v.REBIND,v.UNBIND,v.ACL,v.REPORT,v.MKACTIVITY,v.CHECKOUT,v.MERGE,v["M-SEARCH"],v.NOTIFY,v.SUBSCRIBE,v.UNSUBSCRIBE,v.PATCH,v.PURGE,v.MKCALENDAR,v.LINK,v.UNLINK,v.PRI,v.SOURCE];w.METHODS_ICE=[v.SOURCE];w.METHODS_RTSP=[v.OPTIONS,v.DESCRIBE,v.ANNOUNCE,v.SETUP,v.PLAY,v.PAUSE,v.TEARDOWN,v.GET_PARAMETER,v.SET_PARAMETER,v.REDIRECT,v.RECORD,v.FLUSH,v.GET,v.POST];w.METHOD_MAP=cy.enumToMap(v);w.H_METHOD_MAP={};Object.keys(w.METHOD_MAP).forEach(e=>{/^H/.test(e)&&(w.H_METHOD_MAP[e]=w.METHOD_MAP[e])});var hy;(function(e){e[e.SAFE=0]="SAFE",e[e.SAFE_WITH_CB=1]="SAFE_WITH_CB",e[e.UNSAFE=2]="UNSAFE"})(hy=w.FINISH||(w.FINISH={}));w.ALPHA=[];for(let e=65;e<=90;e++)w.ALPHA.push(String.fromCharCode(e)),w.ALPHA.push(String.fromCharCode(e+32));w.NUM_MAP={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9};w.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};w.NUM=["0","1","2","3","4","5","6","7","8","9"];w.ALPHANUM=w.ALPHA.concat(w.NUM);w.MARK=["-","_",".","!","~","*","'","(",")"];w.USERINFO_CHARS=w.ALPHANUM.concat(w.MARK).concat(["%",";",":","&","=","+","$",","]);w.STRICT_URL_CHAR=["!",'"',"$","%","&","'","(",")","*","+",",","-",".","/",":",";","<","=",">","@","[","\\","]","^","_","`","{","|","}","~"].concat(w.ALPHANUM);w.URL_CHAR=w.STRICT_URL_CHAR.concat([" ","\f"]);for(let e=128;e<=255;e++)w.URL_CHAR.push(e);w.HEX=w.NUM.concat(["a","b","c","d","e","f","A","B","C","D","E","F"]);w.STRICT_TOKEN=["!","#","$","%","&","'","*","+","-",".","^","_","`","|","~"].concat(w.ALPHANUM);w.TOKEN=w.STRICT_TOKEN.concat([" "]);w.HEADER_CHARS=[" "];for(let e=32;e<=255;e++)e!==127&&w.HEADER_CHARS.push(e);w.CONNECTION_TOKEN_CHARS=w.HEADER_CHARS.filter(e=>e!==44);w.MAJOR=w.NUM_MAP;w.MINOR=w.MAJOR;var or;(function(e){e[e.GENERAL=0]="GENERAL",e[e.CONNECTION=1]="CONNECTION",e[e.CONTENT_LENGTH=2]="CONTENT_LENGTH",e[e.TRANSFER_ENCODING=3]="TRANSFER_ENCODING",e[e.UPGRADE=4]="UPGRADE",e[e.CONNECTION_KEEP_ALIVE=5]="CONNECTION_KEEP_ALIVE",e[e.CONNECTION_CLOSE=6]="CONNECTION_CLOSE",e[e.CONNECTION_UPGRADE=7]="CONNECTION_UPGRADE",e[e.TRANSFER_ENCODING_CHUNKED=8]="TRANSFER_ENCODING_CHUNKED"})(or=w.HEADER_STATE||(w.HEADER_STATE={}));w.SPECIAL_HEADERS={connection:or.CONNECTION,"content-length":or.CONTENT_LENGTH,"proxy-connection":or.CONNECTION,"transfer-encoding":or.TRANSFER_ENCODING,upgrade:or.UPGRADE}});var qA=Q((C2,_g)=>{"use strict";var{Buffer:dy}=require("node:buffer");_g.exports=dy.from("AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAX8AYAJ/fwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAy0sBQYAAAIAAAAAAAACAQIAAgICAAADAAAAAAMDAwMBAQEBAQEBAQEAAAIAAAAEBQFwARISBQMBAAIGCAF/AUGA1AQLB9EFIgZtZW1vcnkCAAtfaW5pdGlhbGl6ZQAIGV9faW5kaXJlY3RfZnVuY3Rpb25fdGFibGUBAAtsbGh0dHBfaW5pdAAJGGxsaHR0cF9zaG91bGRfa2VlcF9hbGl2ZQAvDGxsaHR0cF9hbGxvYwALBm1hbGxvYwAxC2xsaHR0cF9mcmVlAAwEZnJlZQAMD2xsaHR0cF9nZXRfdHlwZQANFWxsaHR0cF9nZXRfaHR0cF9tYWpvcgAOFWxsaHR0cF9nZXRfaHR0cF9taW5vcgAPEWxsaHR0cF9nZXRfbWV0aG9kABAWbGxodHRwX2dldF9zdGF0dXNfY29kZQAREmxsaHR0cF9nZXRfdXBncmFkZQASDGxsaHR0cF9yZXNldAATDmxsaHR0cF9leGVjdXRlABQUbGxodHRwX3NldHRpbmdzX2luaXQAFQ1sbGh0dHBfZmluaXNoABYMbGxodHRwX3BhdXNlABcNbGxodHRwX3Jlc3VtZQAYG2xsaHR0cF9yZXN1bWVfYWZ0ZXJfdXBncmFkZQAZEGxsaHR0cF9nZXRfZXJybm8AGhdsbGh0dHBfZ2V0X2Vycm9yX3JlYXNvbgAbF2xsaHR0cF9zZXRfZXJyb3JfcmVhc29uABwUbGxodHRwX2dldF9lcnJvcl9wb3MAHRFsbGh0dHBfZXJybm9fbmFtZQAeEmxsaHR0cF9tZXRob2RfbmFtZQAfEmxsaHR0cF9zdGF0dXNfbmFtZQAgGmxsaHR0cF9zZXRfbGVu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PgtBhwEMPQtBiAEMPAtBiQEMOwtBigEMOgtBiwEMOQtBjAEMOAtBjQEMNwtBjgEMNgtBjwEMNQtBkAEMNAtBkQEMMwtBkgEMMgtBkwEMMQtBlAEMMAtBlQEMLwtBlgEMLgtBlwEMLQtBmAEMLAtBmQEMKwtBmgEMKgtBmwEMKQtBnAEMKAtBnQEMJwtBngEMJgtBnwEMJQtBoAEMJAtBoQEMIwtBogEMIgtBowEMIQtBpAEMIAtBpQEMHwtBpgEMHgtBpwEMHQtBqAEMHAtBqQEMGwtBqgEMGgtBqwEMGQtBrAEMGAtBrQEMFwtBrgEMFgtBAQwVC0GvAQwUC0GwAQwTC0GxAQwSC0GzAQwRC0GyAQwQC0G0AQwPC0G1AQwOC0G2AQwNC0G3AQwMC0G4AQwLC0G5AQwKC0G6AQwJC0G7AQwIC0HGAQwHC0G8AQwGC0G9AQwFC0G+AQwEC0G/AQwDC0HAAQwCC0HCAQwBC0HBAQshAwNAAkACQAJAAkACQAJAAkACQAJAIAICfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAgJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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iQEhAwykAgtBASABLQAAQd8ARw1nGiABQQFqIQEMXgtBigEhAyABIARGDaICIAIoAgAiACAEIAFraiEFIAEgAGtBAWohBgNAIAEtAAAgAEGMzwBqLQAARw1kIABBAUYN+gEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMogILQYsBIQMgASAERg2hAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGOzwBqLQAARw1kIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyiAgsgAkEANgIAIAZBAWohAUECDGULQYwBIQMgASAERg2gAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHwzwBqLQAARw1jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyhAgsgAkEANgIAIAZBAWohAUEfDGQLQY0BIQMgASAERg2fAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHyzwBqLQAARw1iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAygAgsgAkEANgIAIAZBAWohAUEJDGMLIAEgBEYEQEGOASEDDJ8CCwJAAkAgAS0AAEHJAGsOBwBiYmJiYgFiCyABQQFqIQFB+AAhAwyGAgsgAUEBaiEBQfkAIQMMhQILQY8BIQMgASAERg2dAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGRzwBqLQAARw1gIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyeAgsgAkEANgIAIAZBAWohAUEYDGELQZABIQMgASAERg2cAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGXzwBqLQAARw1fIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAydAgsgAkEANgIAIAZBAWohAUEXDGALQZEBIQMgASAERg2bAiACKAIAIgAgBCABa2ohBSABIABrQQZqIQYCQANAIAEtAAAgAEGazwBqLQAARw1eIABBBkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAycAgsgAkEANgIAIAZBAWohAUEV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JSIARQ0RIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMtAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0gIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMswELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0iIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMsgELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0OIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMsQELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0dIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMsAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0fIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMrwELIABBP0cNASABQQFqCyEBQQUhAwyUAQtBACEDIAJBADYCHCACIAE2AhQgAkH9EjYCECACQQc2AgwMrAELIAJBADYCHCACIAE2AhQgAkHcCDYCECACQQc2AgxBACEDDKsBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNByACQeUANgIcIAIgATYCFCACIAA2AgxBACEDDKoBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNFiACQdMANgIcIAIgATYCFCACIAA2AgxBACEDDKkBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNGCACQdIANgIcIAIgATYCFCACIAA2AgxBACEDDKgBCyACQQA2AhwgAiABNgIUIAJBxgo2AhAgAkEHNgIMQQAhAwynAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQMgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwymAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRIgAkHTADYCHCACIAE2AhQgAiAANgIMQQAhAwylAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRQgAkHSADYCHCACIAE2AhQgAiAANgIMQQAhAwykAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQAgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwyjAQtB1QAhAwyJAQsgAEEVRwRAIAJBADYCHCACIAE2AhQgAkG5DTYCECACQRo2AgxB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AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB5ABrDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0HhJw8LQaQhDwtByywPC0H+MQ8LQcAkDwtBqyQPC0GNKA8LQeImDwtBgDAPC0G5Lw8LQdckDwtB7x8PC0HhHw8LQfofDwtB8iAPC0GoLw8LQa4yDwtBiDAPC0HsJw8LQYIiDwtBjh0PC0HQLg8LQcojDwtBxTIPC0HfHA8LQdIcDwtBxCAPC0HXIA8LQaIfDwtB7S4PC0GrMA8LQdQlDwtBzC4PC0H6Lg8LQfwrDwtB0jAPC0HxHQ8LQbsgDwtB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CABB3AgLii1JbnZhbGlkIGNoYXIgaW4gdXJsIHF1ZXJ5AFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fYm9keQBDb250ZW50LUxlbmd0aCBvdmVyZmxvdwBDaHVuayBzaXplIG92ZXJmbG93AFJlc3BvbnNlIG92ZXJmbG93AEludmFsaWQgbWV0aG9kIGZvciBIVFRQL3gueCByZXF1ZXN0AEludmFsaWQgbWV0aG9kIGZvciBSVFNQL3gueCByZXF1ZXN0AEV4cGVjdGVkIFNPVVJDRSBtZXRob2QgZm9yIElDRS94LnggcmVxdWVzdABJbnZhbGlkIGNoYXIgaW4gdXJsIGZyYWdtZW50IHN0YXJ0AEV4cGVjdGVkIGRvdABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3N0YXR1cwBJbnZhbGlkIHJlc3BvbnNlIHN0YXR1cwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zAFVzZXIgY2FsbGJhY2sgZXJyb3IAYG9uX3Jlc2V0YCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfaGVhZGVyYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9iZWdpbmAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3N0YXR1c19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3ZlcnNpb25fY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl91cmxfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXRob2RfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfZmllbGRfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fbmFtZWAgY2FsbGJhY2sgZXJyb3IAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzZXJ2ZXIASW52YWxpZCBoZWFkZXIgdmFsdWUgY2hhcgBJbnZhbGlkIGhlYWRlciBmaWVsZCBjaGFyAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdmVyc2lvbgBJbnZhbGlkIG1pbm9yIHZlcnNpb24ASW52YWxpZCBtYWpvciB2ZXJzaW9uAEV4cGVjdGVkIHNwYWNlIGFmdGVyIHZlcnNpb24ARXhwZWN0ZWQgQ1JMRiBhZnRlciB2ZXJzaW9uAEludmFsaWQgSFRUUCB2ZXJzaW9uAEludmFsaWQgaGVhZGVyIHRva2VuAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdXJsAEludmFsaWQgY2hhcmFjdGVycyBpbiB1cmwAVW5leHBlY3RlZCBzdGFydCBjaGFyIGluIHVybABEb3VibGUgQCBpbiB1cmwARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgARHVwbGljYXRlIENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhciBpbiB1cmwgcGF0aABDb250ZW50LUxlbmd0aCBjYW4ndCBiZSBwcmVzZW50IHdpdGggVHJhbnNmZXItRW5jb2RpbmcASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgc2l6ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl92YWx1ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlZCB2YWx1ZQBQYXVzZWQgYnkgb25faGVhZGVyc19jb21wbGV0ZQBJbnZhbGlkIEVPRiBzdGF0ZQBvbl9yZXNldCBwYXVzZQBvbl9jaHVua19oZWFkZXIgcGF1c2UAb25fbWVzc2FnZV9iZWdpbiBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fdmFsdWUgcGF1c2UAb25fc3RhdHVzX2NvbXBsZXRlIHBhdXNlAG9uX3ZlcnNpb25fY29tcGxldGUgcGF1c2UAb25fdXJsX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXNzYWdlX2NvbXBsZXRlIHBhdXNlAG9uX21ldGhvZF9jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfZmllbGRfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUgcGF1c2UAVW5leHBlY3RlZCBzcGFjZSBhZnRlciBzdGFydCBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAFBhdXNlIG9uIENPTk5FQ1QvVXBncmFkZQBQYXVzZSBvbiBQUkkvVXBncmFkZQBFeHBlY3RlZCBIVFRQLzIgQ29ubmVjdGlvbiBQcmVmYWNlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fbWV0aG9kAEV4cGVjdGVkIHNwYWNlIGFmdGVyIG1ldGhvZABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl9maWVsZABQYXVzZWQASW52YWxpZCB3b3JkIGVuY291bnRlcmVkAEludmFsaWQgbWV0aG9kIGVuY291bnRlcmVkAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2NoZW1hAFJlcXVlc3QgaGFzIGludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYABTV0lUQ0hfUFJPWFkAVVNFX1BST1hZAE1LQUNUSVZJVFkAVU5QUk9DRVNTQUJMRV9FTlRJVFkAQ09QWQBNT1ZFRF9QRVJNQU5FTlRMWQBUT09fRUFSTFkATk9USUZZAEZBSUxFRF9ERVBFTkRFTkNZAEJBRF9HQVRFV0FZAFBMQVkAUFVUAENIRUNLT1VUAEdBVEVXQVlfVElNRU9VVABSRVFVRVNUX1RJTUVPVVQATkVUV09SS19DT05ORUNUX1RJTUVPVVQAQ09OTkVDVElPTl9USU1FT1VUAExPR0lOX1RJTUVPVVQATkVUV09SS19SRUFEX1RJTUVPVVQAUE9TVABNSVNESVJFQ1RFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX0xPQURfQkFMQU5DRURfUkVRVUVTVABCQURfUkVRVUVTVABIVFRQX1JFUVVFU1RfU0VOVF9UT19IVFRQU19QT1JUAFJFUE9SVABJTV9BX1RFQVBPVABSRVNFVF9DT05URU5UAE5PX0NPTlRFTlQAUEFSVElBTF9DT05URU5UAEhQRV9JTlZBTElEX0NPTlNUQU5UAEhQRV9DQl9SRVNFVABHRVQASFBFX1NUUklDVABDT05GTElDVABURU1QT1JBUllfUkVESVJFQ1QAUEVSTUFORU5UX1JFRElSRUNUAENPTk5FQ1QATVVMVElfU1RBVFVTAEhQRV9JTlZBTElEX1NUQVRVUwBUT09fTUFOWV9SRVFVRVNUUwBFQVJMWV9ISU5UUwBVTkFWQUlMQUJMRV9GT1JfTEVHQUxfUkVBU09OUwBPUFRJT05TAFNXSVRDSElOR19QUk9UT0NPTFMAVkFSSUFOVF9BTFNPX05FR09USUFURVMATVVMVElQTEVfQ0hPSUNFUwBJTlRFUk5BTF9TRVJWRVJfRVJST1IAV0VCX1NFUlZFUl9VTktOT1dOX0VSUk9SAFJBSUxHVU5fRVJST1IASURFTlRJVFlfUFJPVklERVJfQVVUSEVOVElDQVRJT05fRVJST1IAU1NMX0NFUlRJRklDQVRFX0VSUk9SAElOVkFMSURfWF9GT1JXQVJERURfRk9SAFNFVF9QQVJBTUVURVIAR0VUX1BBUkFNRVRFUgBIUEVfVVNFUgBTRUVfT1RIRVIASFBFX0NCX0NIVU5LX0hFQURFUgBNS0NBTEVOREFSAFNFVFVQAFdFQl9TRVJWRVJfSVNfRE9XTgBURUFSRE9XTgBIUEVfQ0xPU0VEX0NPTk5FQ1RJT04ASEVVUklTVElDX0VYUElSQVRJT04ARElTQ09OTkVDVEVEX09QRVJBVElPTgBOT05fQVVUSE9SSVRBVElWRV9JTkZPUk1BVElPTgBIUEVfSU5WQUxJRF9WRVJTSU9OAEhQRV9DQl9NRVNTQUdFX0JFR0lOAFNJVEVfSVNfRlJPWkVOAEhQRV9JTlZBTElEX0hFQURFUl9UT0tFTgBJTlZBTElEX1RPS0VOAEZPUkJJRERFTgBFTkhBTkNFX1lPVVJfQ0FMTQBIUEVfSU5WQUxJRF9VUkwAQkxPQ0tFRF9CWV9QQVJFTlRBTF9DT05UUk9MAE1LQ09MAEFDTABIUEVfSU5URVJOQUwAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRV9VTk9GRklDSUFMAEhQRV9PSwBVTkxJTksAVU5MT0NLAFBSSQBSRVRSWV9XSVRIAEhQRV9JTlZBTElEX0NPTlRFTlRfTEVOR1RIAEhQRV9VTkVYUEVDVEVEX0NPTlRFTlRfTEVOR1RIAEZMVVNIAFBST1BQQVRDSABNLVNFQVJDSABVUklfVE9PX0xPTkcAUFJPQ0VTU0lORwBNSVNDRUxMQU5FT1VTX1BFUlNJU1RFTlRfV0FSTklORwBNSVNDRUxMQU5FT1VTX1dBUk5JTkcASFBFX0lOVkFMSURfVFJBTlNGRVJfRU5DT0RJTkcARXhwZWN0ZWQgQ1JMRgBIUEVfSU5WQUxJRF9DSFVOS19TSVpFAE1PVkUAQ09OVElOVUUASFBFX0NCX1NUQVRVU19DT01QTEVURQBIUEVfQ0JfSEVBREVSU19DT01QTEVURQBIUEVfQ0JfVkVSU0lPTl9DT01QTEVURQBIUEVfQ0JfVVJMX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8AAF4TAAAmEwAAMBAAAPAXAACdEwAAFRIAADkXAADwEgAAChAAAHUSAACtEgAAghMAAE8UAAB/EAAAoBUAACMUAACJEgAAixQAAE0VAADUEQAAzxQAABAYAADJFgAA3BYAAMERAADgFwAAuxQAAHQUAAB8FQAA5RQAAAgXAAAfEAAAZRUAAKMUAAAoFQAAAhUAAJkVAAAsEAAAixkAAE8PAADUDgAAahAAAM4QAAACFwAAiQ4AAG4TAAAcEwAAZhQAAFYXAADBEwAAzRMAAGwTAABoFwAAZhcAAF8XAAAiEwAAzg8AAGkOAADYDgAAYxYAAMsTAACqDgAAKBcAACYXAADFEwAAXRYAAOgRAABnEwAAZRMAAPIWAABzEwAAHRcAAPkWAADzEQAAzw4AAM4VAAAMEgAAsxEAAKURAABhEAAAMhcAALsTAEH5NQsBAQBBkDYL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB/TcLAQEAQZE4C14CAwICAgICAAACAgACAgACAgICAgICAgICAAQAAAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAEH9OQsBAQBBkToLXgIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAQfA7Cw1sb3NlZWVwLWFsaXZlAEGJPAsBAQBBoDwL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBiT4LAQEAQaA+C+cBAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAEGwwAALXwEBAAEBAQEBAAABAQABAQABAQEBAQEBAQEBAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAEGQwgALIWVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgBBwMIACy1yYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AQfnCAAsFAQIAAQMAQZDDAAvgAQQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH5xAALBQECAAEDAEGQxQAL4AEEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+cYACwQBAAABAEGRxwAL3wEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH6yAALBAEAAAIAQZDJAAtfAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAQfrKAAsEAQAAAQBBkMsACwEBAEGqywALQQIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAEH6zAALBAEAAAEAQZDNAAsBAQBBms0ACwYCAAAAAAIAQbHNAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBB8M4AC5YBTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRU9SRElSRUNUT1JUUkNIUEFSQU1FVEVSVVJDRUJTQ1JJQkVBUkRPV05BQ0VJTkROS0NLVUJTQ1JJQkVIVFRQL0FEVFAv","base64")});var Og=Q((I2,Yg)=>{"use strict";var{Buffer:Ey}=require("node:buffer");Yg.exports=Ey.from("AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAX8AYAJ/fwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAy0sBQYAAAIAAAAAAAACAQIAAgICAAADAAAAAAMDAwMBAQEBAQEBAQEAAAIAAAAEBQFwARISBQMBAAIGCAF/AUGA1AQLB9EFIgZtZW1vcnkCAAtfaW5pdGlhbGl6ZQAIGV9faW5kaXJlY3RfZnVuY3Rpb25fdGFibGUBAAtsbGh0dHBfaW5pdAAJGGxsaHR0cF9zaG91bGRfa2VlcF9hbGl2ZQAvDGxsaHR0cF9hbGxvYwALBm1hbGxvYwAxC2xsaHR0cF9mcmVlAAwEZnJlZQAMD2xsaHR0cF9nZXRfdHlwZQANFWxsaHR0cF9nZXRfaHR0cF9tYWpvcgAOFWxsaHR0cF9nZXRfaHR0cF9taW5vcgAPEWxsaHR0cF9nZXRfbWV0aG9kABAWbGxodHRwX2dldF9zdGF0dXNfY29kZQAREmxsaHR0cF9nZXRfdXBncmFkZQASDGxsaHR0cF9yZXNldAATDmxsaHR0cF9leGVjdXRlABQUbGxodHRwX3NldHRpbmdzX2luaXQAFQ1sbGh0dHBfZmluaXNoABYMbGxodHRwX3BhdXNlABcNbGxodHRwX3Jlc3VtZQAYG2xsaHR0cF9yZXN1bWVfYWZ0ZXJfdXBncmFkZQAZEGxsaHR0cF9nZXRfZXJybm8AGhdsbGh0dHBfZ2V0X2Vycm9yX3JlYXNvbgAbF2xsaHR0cF9zZXRfZXJyb3JfcmVhc29uABwUbGxodHRwX2dldF9lcnJvcl9wb3MAHRFsbGh0dHBfZXJybm9fbmFtZQAeEmxsaHR0cF9tZXRob2RfbmFtZQAfEmxsaHR0cF9zdGF0dXNfbmFtZQAgGmxsaHR0cF9zZXRfbGVu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PgtBhwEMPQtBiAEMPAtBiQEMOwtBigEMOgtBiwEMOQtBjAEMOAtBjQEMNwtBjgEMNgtBjwEMNQtBkAEMNAtBkQEMMwtBkgEMMgtBkwEMMQtBlAEMMAtBlQEMLwtBlgEMLgtBlwEMLQtBmAEMLAtBmQEMKwtBmgEMKgtBmwEMKQtBnAEMKAtBnQEMJwtBngEMJgtBnwEMJQtBoAEMJAtBoQEMIwtBogEMIgtBowEMIQtBpAEMIAtBpQEMHwtBpgEMHgtBpwEMHQtBqAEMHAtBqQEMGwtBqgEMGgtBqwEMGQtBrAEMGAtBrQEMFwtBrgEMFgtBAQwVC0GvAQwUC0GwAQwTC0GxAQwSC0GzAQwRC0GyAQwQC0G0AQwPC0G1AQwOC0G2AQwNC0G3AQwMC0G4AQwLC0G5AQwKC0G6AQwJC0G7AQwIC0HGAQwHC0G8AQwGC0G9AQwFC0G+AQwEC0G/AQwDC0HAAQwCC0HCAQwBC0HBAQshAwNAAkACQAJAAkACQAJAAkACQAJAIAICfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAgJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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iQEhAwykAgtBASABLQAAQd8ARw1nGiABQQFqIQEMXgtBigEhAyABIARGDaICIAIoAgAiACAEIAFraiEFIAEgAGtBAWohBgNAIAEtAAAgAEGMzwBqLQAARw1kIABBAUYN+gEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMogILQYsBIQMgASAERg2hAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGOzwBqLQAARw1kIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyiAgsgAkEANgIAIAZBAWohAUECDGULQYwBIQMgASAERg2gAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHwzwBqLQAARw1jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyhAgsgAkEANgIAIAZBAWohAUEfDGQLQY0BIQMgASAERg2fAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHyzwBqLQAARw1iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAygAgsgAkEANgIAIAZBAWohAUEJDGMLIAEgBEYEQEGOASEDDJ8CCwJAAkAgAS0AAEHJAGsOBwBiYmJiYgFiCyABQQFqIQFB+AAhAwyGAgsgAUEBaiEBQfkAIQMMhQILQY8BIQMgASAERg2dAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGRzwBqLQAARw1gIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyeAgsgAkEANgIAIAZBAWohAUEYDGELQZABIQMgASAERg2cAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGXzwBqLQAARw1fIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAydAgsgAkEANgIAIAZBAWohAUEXDGALQZEBIQMgASAERg2bAiACKAIAIgAgBCABa2ohBSABIABrQQZqIQYCQANAIAEtAAAgAEGazwBqLQAARw1eIABBBkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAycAgsgAkEANgIAIAZBAWohAUEVDF8LQZIBIQMgASAERg2aAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGhzwBqLQAARw1dIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAybAgsgAkEANgIAIAZBAWohAUEeDF4LIAEgBEYEQEGTASEDDJoCCyABLQAAQcwARw1bIAFBAWohAUEKDF0LIAEgBEYEQEGUASEDDJkCCwJAAkAgAS0AAEHBAGsODwBcXFxcXFxcXFxcXFxcAVwLIAFBAWohAUH+ACEDDIACCyABQQFqIQFB/wAhAwz/AQsgASAERgRAQZUBIQMMmAILAkACQCABLQAAQcEAaw4DAFsBWwsgAUEBaiEBQf0AIQMM/wELIAFBAWohAUGAASEDDP4BC0GWASEDIAEgBEYNlgIgAigCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBp88Aai0AAEcNWSAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMlwILIAJBADYCACAGQQFqIQFBCwxaCyABIARGBEBBlwEhAwyWAgsCQAJAAkACQCABLQAAQS1rDiMAW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1sBW1tbW1sCW1tbA1sLIAFBAWohAUH7ACEDDP8BCyABQQFqIQFB/AAhAwz+AQsgAUEBaiEBQYEBIQMM/QELIAFBAWohAUGCASEDDPwBC0GYASEDIAEgBEYNlAIgAigCACIAIAQgAWtqIQUgASAAa0EEaiEGAkADQCABLQAAIABBqc8Aai0AAEcNVyAAQQRGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMlQILIAJBADYCACAGQQFqIQFBGQxYC0GZASEDIAEgBEYNkwIgAigCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABBrs8Aai0AAEcNViAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMlAILIAJBADYCACAGQQFqIQFBBgxXC0GaASEDIAEgBEYNkgIgAigCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBtM8Aai0AAEcNVSAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMkwILIAJBADYCACAGQQFqIQFBHAxWC0GbASEDIAEgBEYNkQIgAigCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBts8Aai0AAEcNVCAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMkgILIAJBADYCACAGQQFqIQFBJwxVCyABIARGBEBBnAEhAwyRAgsCQAJAIAEtAABB1ABrDgIAAVQLIAFBAWohAUGGASEDDPgBCyABQQFqIQFBhwEhAwz3AQtBnQEhAyABIARGDY8CIAIoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQbjPAGotAABHDVIgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADJACCyACQQA2AgAgBkEBaiEBQSYMUwtBngEhAyABIARGDY4CIAIoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQbrPAGotAABHDVEgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADI8CCyACQQA2AgAgBkEBaiEBQQMMUgtBnwEhAyABIARGDY0CIAIoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQe3PAGotAABHDVAgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADI4CCyACQQA2AgAgBkEBaiEBQQwMUQtBoAEhAyABIARGDYwCIAIoAgAiACAEIAFraiEFIAEgAGtBA2ohBgJAA0AgAS0AACAAQbzPAGotAABHDU8gAEEDRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADI0CCyACQQA2AgAgBkEBaiEBQQ0MUAsgASAERgRAQaEBIQMMjAILAkACQCABLQAAQcYAaw4LAE9PT09PT09PTwFPCyABQQFqIQFBiwEhAwzzAQsgAUEBaiEBQYwBIQMM8gELIAEgBEYEQEGiASEDDIsCCyABLQAAQdAARw1MIAFBAWohAQxGCyABIARGBEBBowEhAwyKAgsCQAJAIAEtAABByQBrDgcBTU1NTU0ATQsgAUEBaiEBQY4BIQMM8QELIAFBAWohAUEiDE0LQaQBIQMgASAERg2IAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHAzwBqLQAARw1LIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyJAgsgAkEANgIAIAZBAWohAUEdDEwLIAEgBEYEQEGlASEDDIgCCwJAAkAgAS0AAEHSAGsOAwBLAUsLIAFBAWohAUGQASEDDO8BCyABQQFqIQFBBAxLCyABIARGBEBBpgEhAwyHAgsCQAJAAkACQAJAIAEtAABBwQBrDhUATU1NTU1NTU1NTQFNTQJNTQNNTQRNCyABQQFqIQFBiAEhAwzxAQsgAUEBaiEBQYkBIQMM8AELIAFBAWohAUGKASEDDO8BCyABQQFqIQFBjwEhAwzuAQsgAUEBaiEBQZEBIQMM7QELQacBIQMgASAERg2FAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEHtzwBqLQAARw1IIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyGAgsgAkEANgIAIAZBAWohAUERDEkLQagBIQMgASAERg2EAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEHCzwBqLQAARw1HIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyFAgsgAkEANgIAIAZBAWohAUEsDEgLQakBIQMgASAERg2DAiACKAIAIgAgBCABa2ohBSABIABrQQRqIQYCQANAIAEtAAAgAEHFzwBqLQAARw1GIABBBEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyEAgsgAkEANgIAIAZBAWohAUErDEcLQaoBIQMgASAERg2CAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEHKzwBqLQAARw1FIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyDAgsgAkEANgIAIAZBAWohAUEUDEYLIAEgBEYEQEGrASEDDIICCwJAAkACQAJAIAEtAABBwgBrDg8AAQJHR0dHR0dHR0dHRwNHCyABQQFqIQFBkwEhAwzrAQsgAUEBaiEBQZQBIQMM6gELIAFBAWohAUGVASEDDOkBCyABQQFqIQFBlgEhAwzoAQsgASAERgRAQawBIQMMgQILIAEtAABBxQBHDUIgAUEBaiEBDD0LQa0BIQMgASAERg3/ASACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEHNzwBqLQAARw1CIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyAAgsgAkEANgIAIAZBAWohAUEODEMLIAEgBEYEQEGuASEDDP8BCyABLQAAQdAARw1AIAFBAWohAUElDEILQa8BIQMgASAERg39ASACKAIAIgAgBCABa2ohBSABIABrQQhqIQYCQANAIAEtAAAgAEHQzwBqLQAARw1AIABBCEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAz+AQsgAkEANgIAIAZBAWohAUEqDEELIAEgBEYEQEGwASEDDP0BCwJAAkAgAS0AAEHVAGsOCwBAQEBAQEBAQEABQAsgAUEBaiEBQZoBIQMM5AELIAFBAWohAUGbASEDDOMBCyABIARGBEBBsQEhAwz8AQsCQAJAIAEtAABBwQBrDhQAPz8/Pz8/Pz8/Pz8/Pz8/Pz8/AT8LIAFBAWohAUGZASEDDOMBCyABQQFqIQFBnAEhAwziAQtBsgEhAyABIARGDfoBIAIoAgAiACAEIAFraiEFIAEgAGtBA2ohBgJAA0AgAS0AACAAQdnPAGotAABHDT0gAEEDRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADPsBCyACQQA2AgAgBkEBaiEBQSEMPgtBswEhAyABIARGDfkBIAIoAgAiACAEIAFraiEFIAEgAGtBBmohBgJAA0AgAS0AACAAQd3PAGotAABHDTwgAEEGRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAiAFNgIADPoBCyACQQA2AgAgBkEBaiEBQRoMPQsgASAERgRAQbQBIQMM+QELAkACQAJAIAEtAABBxQBrDhEAPT09PT09PT09AT09PT09Aj0LIAFBAWohAUGdASEDDOEBCyABQQFqIQFBngEhAwzgAQsgAUEBaiEBQZ8BIQMM3wELQbUBIQMgASAERg33ASACKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEHkzwBqLQAARw06IABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAz4AQsgAkEANgIAIAZBAWohAUEoDDsLQbYBIQMgASAERg32ASACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEHqzwBqLQAARw05IABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAz3AQsgAkEANgIAIAZBAWohAUEHDDoLIAEgBEYEQEG3ASEDDPYBCwJAAkAgAS0AAEHFAGsODgA5OTk5OTk5OTk5OTkBOQsgAUEBaiEBQaEBIQMM3QELIAFBAWohAUGiASEDDNwBC0G4ASEDIAEgBEYN9AEgAigCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABB7c8Aai0AAEcNNyAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAM9QELIAJBADYCACAGQQFqIQFBEgw4C0G5ASEDIAEgBEYN8wEgAigCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABB8M8Aai0AAEcNNiAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAM9AELIAJBADYCACAGQQFqIQFBIAw3C0G6ASEDIAEgBEYN8gEgAigCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABB8s8Aai0AAEcNNSAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAM8wELIAJBADYCACAGQQFqIQFBDww2CyABIARGBEBBuwEhAwzyAQsCQAJAIAEtAABByQBrDgcANTU1NTUBNQsgAUEBaiEBQaUBIQMM2QELIAFBAWohAUGmASEDDNgBC0G8ASEDIAEgBEYN8AEgAigCACIAIAQgAWtqIQUgASAAa0EHaiEGAkADQCABLQAAIABB9M8Aai0AAEcNMyAAQQdGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAM8QELIAJBADYCACAGQQFqIQFBGww0CyABIARGBEBBvQEhAwzwAQsCQAJAAkAgAS0AAEHCAGsOEgA0NDQ0NDQ0NDQBNDQ0NDQ0AjQLIAFBAWohAUGkASEDDNgBCyABQQFqIQFBpwEhAwzXAQsgAUEBaiEBQagBIQMM1gELIAEgBEYEQEG+ASEDDO8BCyABLQAAQc4ARw0wIAFBAWohAQwsCyABIARGBEBBvwEhAwzuAQsCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABLQAAQcEAaw4VAAECAz8EBQY/Pz8HCAkKCz8MDQ4PPwsgAUEBaiEBQegAIQMM4wELIAFBAWohAUHpACEDDOIBCyABQQFqIQFB7gAhAwzhAQsgAUEBaiEBQfIAIQMM4AELIAFBAWohAUHzACEDDN8BCyABQQFqIQFB9gAhAwzeAQsgAUEBaiEBQfcAIQMM3QELIAFBAWohAUH6ACEDDNwBCyABQQFqIQFBgwEhAwzbAQsgAUEBaiEBQYQBIQMM2gELIAFBAWohAUGFASEDDNkBCyABQQFqIQFBkgEhAwzYAQsgAUEBaiEBQZgBIQMM1wELIAFBAWohAUGgASEDDNYBCyABQQFqIQFBowEhAwzVAQsgAUEBaiEBQaoBIQMM1AELIAEgBEcEQCACQRA2AgggAiABNgIEQasBIQMM1AELQcABIQMM7AELQQAhAAJAIAIoAjgiA0UNACADKAI0IgNFDQAgAiADEQAAIQALIABFDV4gAEEVRw0HIAJB0QA2AhwgAiABNgIUIAJBsBc2AhAgAkEVNgIMQQAhAwzrAQsgAUEBaiABIARHDQgaQcIBIQMM6gELA0ACQCABLQAAQQprDgQIAAALAAsgBCABQQFqIgFHDQALQcMBIQMM6QELIAEgBEcEQCACQRE2AgggAiABNgIEQQEhAwzQAQtBxAEhAwzoAQsgASAERgRAQcUBIQMM6AELAkACQCABLQAAQQprDgQBKCgAKAsgAUEBagwJCyABQQFqDAULIAEgBEYEQEHGASEDDOcBCwJAAkAgAS0AAEEKaw4XAQsLAQsLCwsLCwsLCwsLCwsLCwsLCwALCyABQQFqIQELQbABIQMMzQELIAEgBEYEQEHIASEDDOYBCyABLQAAQSBHDQkgAkEAOwEyIAFBAWohAUGzASEDDMwBCwNAIAEhAAJAIAEgBEcEQCABLQAAQTBrQf8BcSIDQQpJDQEMJwtBxwEhAwzmAQsCQCACLwEyIgFBmTNLDQAgAiABQQpsIgU7ATIgBUH+/wNxIANB//8Dc0sNACAAQQFqIQEgAiADIAVqIgM7ATIgA0H//wNxQegHSQ0BCwtBACEDIAJBADYCHCACQcEJNgIQIAJBDTYCDCACIABBAWo2AhQM5AELIAJBADYCHCACIAE2AhQgAkHwDDYCECACQRs2AgxBACEDDOMBCyACKAIEIQAgAkEANgIEIAIgACABECYiAA0BIAFBAWoLIQFBrQEhAwzIAQsgAkHBATYCHCACIAA2AgwgAiABQQFqNgIUQQAhAwzgAQsgAigCBCEAIAJBADYCBCACIAAgARAmIgANASABQQFqCyEBQa4BIQMMxQELIAJBwgE2AhwgAiAANgIMIAIgAUEBajYCFEEAIQMM3QELIAJBADYCHCACIAE2AhQgAkGXCzYCECACQQ02AgxBACEDDNwBCyACQQA2AhwgAiABNgIUIAJB4xA2AhAgAkEJNgIMQQAhAwzbAQsgAkECOgAoDKwBC0EAIQMgAkEANgIcIAJBrws2AhAgAkECNgIMIAIgAUEBajYCFAzZAQtBAiEDDL8BC0ENIQMMvgELQSYhAwy9AQtBFSEDDLwBC0EWIQMMuwELQRghAwy6AQtBHCEDDLkBC0EdIQMMuAELQSAhAwy3AQtBISEDDLYBC0EjIQMMtQELQcYAIQMMtAELQS4hAwyzAQtBPSEDDLIBC0HLACEDDLEBC0HOACEDDLABC0HYACEDDK8BC0HZACEDDK4BC0HbACEDDK0BC0HxACEDDKwBC0H0ACEDDKsBC0GNASEDDKoBC0GXASEDDKkBC0GpASEDDKgBC0GvASEDDKcBC0GxASEDDKYBCyACQQA2AgALQQAhAyACQQA2AhwgAiABNgIUIAJB8Rs2AhAgAkEGNgIMDL0BCyACQQA2AgAgBkEBaiEBQSQLOgApIAIoAgQhACACQQA2AgQgAiAAIAEQJyIARQRAQeUAIQMMowELIAJB+QA2AhwgAiABNgIUIAIgADYCDEEAIQMMuwELIABBFUcEQCACQQA2AhwgAiABNgIUIAJBzA42AhAgAkEgNgIMQQAhAwy7AQsgAkH4ADYCHCACIAE2AhQgAkHKGDYCECACQRU2AgxBACEDDLoBCyACQQA2AhwgAiABNgIUIAJBjhs2AhAgAkEGNgIMQQAhAwy5AQsgAkEANgIcIAIgATYCFCACQf4RNgIQIAJBBzYCDEEAIQMMuAELIAJBADYCHCACIAE2AhQgAkGMHDYCECACQQc2AgxBACEDDLcBCyACQQA2AhwgAiABNgIUIAJBww82AhAgAkEHNgIMQQAhAwy2AQsgAkEANgIcIAIgATYCFCACQcMPNgIQIAJBBzYCDEEAIQMMtQELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0RIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMtAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0gIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMswELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0iIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMsgELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0OIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMsQELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0dIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMsAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0fIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMrwELIABBP0cNASABQQFqCyEBQQUhAwyUAQtBACEDIAJBADYCHCACIAE2AhQgAkH9EjYCECACQQc2AgwMrAELIAJBADYCHCACIAE2AhQgAkHcCDYCECACQQc2AgxBACEDDKsBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNByACQeUANgIcIAIgATYCFCACIAA2AgxBACEDDKoBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNFiACQdMANgIcIAIgATYCFCACIAA2AgxBACEDDKkBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNGCACQdIANgIcIAIgATYCFCACIAA2AgxBACEDDKgBCyACQQA2AhwgAiABNgIUIAJBxgo2AhAgAkEHNgIMQQAhAwynAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQMgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwymAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRIgAkHTADYCHCACIAE2AhQgAiAANgIMQQAhAwylAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRQgAkHSADYCHCACIAE2AhQgAiAANgIMQQAhAwykAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQAgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwyjAQtB1QAhAwyJAQsgAEEVRwRAIAJBADYCHCACIAE2AhQgAkG5DTYCECACQRo2AgxB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AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB5ABrDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0HhJw8LQaQhDwtByywPC0H+MQ8LQcAkDwtBqyQPC0GNKA8LQeImDwtBgDAPC0G5Lw8LQdckDwtB7x8PC0HhHw8LQfofDwtB8iAPC0GoLw8LQa4yDwtBiDAPC0HsJw8LQYIiDwtBjh0PC0HQLg8LQcojDwtBxTIPC0HfHA8LQdIcDwtBxCAPC0HXIA8LQaIfDwtB7S4PC0GrMA8LQdQlDwtBzC4PC0H6Lg8LQfwrDwtB0jAPC0HxHQ8LQbsgDwtB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AAADAEGUCAsFBAAAAAUAQaQICwkGAAAABwAAAAgAQdwIC4otSW52YWxpZCBjaGFyIGluIHVybCBxdWVyeQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2JvZHkAQ29udGVudC1MZW5ndGggb3ZlcmZsb3cAQ2h1bmsgc2l6ZSBvdmVyZmxvdwBSZXNwb25zZSBvdmVyZmxvdwBJbnZhbGlkIG1ldGhvZCBmb3IgSFRUUC94LnggcmVxdWVzdABJbnZhbGlkIG1ldGhvZCBmb3IgUlRTUC94LnggcmVxdWVzdABFeHBlY3RlZCBTT1VSQ0UgbWV0aG9kIGZvciBJQ0UveC54IHJlcXVlc3QASW52YWxpZCBjaGFyIGluIHVybCBmcmFnbWVudCBzdGFydABFeHBlY3RlZCBkb3QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9zdGF0dXMASW52YWxpZCByZXNwb25zZSBzdGF0dXMASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucwBVc2VyIGNhbGxiYWNrIGVycm9yAGBvbl9yZXNldGAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2hlYWRlcmAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfYmVnaW5gIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwBB+TULAQEAQZA2C+ABAQECAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQf03CwEBAEGROAteAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgBB/TkLAQEAQZE6C14CAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAEHwOwsNbG9zZWVlcC1hbGl2ZQBBiTwLAQEAQaA8C+ABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQYk+CwEBAEGgPgvnAQEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZABBsMAAC18BAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQBBkMIACyFlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AQcDCAAstcmFuc2Zlci1lbmNvZGluZ3BncmFkZQ0KDQoNClNNDQoNClRUUC9DRS9UU1AvAEH5wgALBQECAAEDAEGQwwAL4AEEAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+cQACwUBAgABAwBBkMUAC+ABBAEBBQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQfnGAAsEAQAAAQBBkccAC98BAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+sgACwQBAAACAEGQyQALXwMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAEH6ygALBAEAAAEAQZDLAAsBAQBBqssAC0ECAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBB+swACwQBAAABAEGQzQALAQEAQZrNAAsGAgAAAAACAEGxzQALOgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQfDOAAuWAU5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw==","base64")});var ii=Q((w2,zg)=>{"use strict";var Jg=["GET","HEAD","POST"],my=new Set(Jg),fy=[101,204,205,304],Pg=[301,302,303,307,308],Qy=new Set(Pg),Hg=["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"],By=new Set(Hg),Vg=["","no-referrer","no-referrer-when-downgrade","same-origin","origin","strict-origin","origin-when-cross-origin","strict-origin-when-cross-origin","unsafe-url"],Cy=new Set(Vg),Iy=["follow","manual","error"],qg=["GET","HEAD","OPTIONS","TRACE"],wy=new Set(qg),by=["navigate","same-origin","no-cors","cors"],yy=["omit","same-origin","include"],xy=["default","no-store","reload","no-cache","force-cache","only-if-cached"],vy=["content-encoding","content-language","content-location","content-type","content-length"],ky=["half"],Wg=["CONNECT","TRACE","TRACK"],Dy=new Set(Wg),jg=["audio","audioworklet","font","image","manifest","paintworklet","script","style","track","video","xslt",""],Ry=new Set(jg);zg.exports={subresource:jg,forbiddenMethods:Wg,requestBodyHeader:vy,referrerPolicy:Vg,requestRedirect:Iy,requestMode:by,requestCredentials:yy,requestCache:xy,redirectStatus:Pg,corsSafeListedMethods:Jg,nullBodyStatus:fy,safeMethods:qg,badPorts:Hg,requestDuplex:ky,subresourceSet:Ry,badPortsSet:By,redirectStatusSet:Qy,corsSafeListedMethodsSet:my,safeMethodsSet:wy,forbiddenMethodsSet:Dy,referrerPolicySet:Cy}});var jA=Q((b2,Zg)=>{"use strict";var WA=Symbol.for("undici.globalOrigin.1");function Ty(){return globalThis[WA]}function Fy(e){if(e===void 0){Object.defineProperty(globalThis,WA,{value:void 0,writable:!0,enumerable:!1,configurable:!1});return}let t=new URL(e);if(t.protocol!=="http:"&&t.protocol!=="https:")throw new TypeError(`Only http & https urls are allowed, received ${t.protocol}`);Object.defineProperty(globalThis,WA,{value:t,writable:!0,enumerable:!1,configurable:!1})}Zg.exports={getGlobalOrigin:Ty,setGlobalOrigin:Fy}});var ve=Q((y2,rh)=>{"use strict";var Lo=require("node:assert"),Sy=new TextEncoder,oi=/^[!#$%&'*+\-.^_|~A-Za-z0-9]+$/,Uy=/[\u000A\u000D\u0009\u0020]/,Ny=/[\u0009\u000A\u000C\u000D\u0020]/g,Gy=/^[\u0009\u0020-\u007E\u0080-\u00FF]+$/;function My(e){Lo(e.protocol==="data:");let t=$g(e,!0);t=t.slice(5);let s={position:0},r=nr(",",t,s),i=r.length;if(r=Py(r,!0,!0),s.position>=t.length)return"failure";s.position++;let o=t.slice(i+1),n=eh(o);if(/;(\u0020){0,}base64$/i.test(r)){let A=sh(n);if(n=_y(A),n==="failure")return"failure";r=r.slice(0,-6),r=r.replace(/(\u0020)+$/,""),r=r.slice(0,-1)}r.startsWith(";")&&(r="text/plain"+r);let a=zA(r);return a==="failure"&&(a=zA("text/plain;charset=US-ASCII")),{mimeType:a,body:n}}function $g(e,t=!1){if(!t)return e.href;let s=e.href,r=e.hash.length,i=r===0?s:s.substring(0,s.length-r);return!r&&s.endsWith("#")?i.slice(0,-1):i}function _o(e,t,s){let r="";for(;s.position=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102}function Xg(e){return e>=48&&e<=57?e-48:(e&223)-55}function Ly(e){let t=e.length,s=new Uint8Array(t),r=0;for(let i=0;ie.length)return"failure";t.position++;let r=nr(";",e,t);if(r=Mo(r,!1,!0),r.length===0||!oi.test(r))return"failure";let i=s.toLowerCase(),o=r.toLowerCase(),n={type:i,subtype:o,parameters:new Map,essence:`${i}/${o}`};for(;t.positionUy.test(c),e,t);let a=_o(c=>c!==";"&&c!=="=",e,t);if(a=a.toLowerCase(),t.positione.length)break;let A=null;if(e[t.position]==='"')A=th(e,t,!0),nr(";",e,t);else if(A=nr(";",e,t),A=Mo(A,!1,!0),A.length===0)continue;a.length!==0&&oi.test(a)&&(A.length===0||Gy.test(A))&&!n.parameters.has(a)&&n.parameters.set(a,A)}return n}function _y(e){e=e.replace(Ny,"");let t=e.length;if(t%4===0&&e.charCodeAt(t-1)===61&&(--t,e.charCodeAt(t-1)===61&&--t),t%4===1||/[^+/0-9A-Za-z]/.test(e.length===t?e:e.substring(0,t)))return"failure";let s=Buffer.from(e,"base64");return new Uint8Array(s.buffer,s.byteOffset,s.byteLength)}function th(e,t,s){let r=t.position,i="";for(Lo(e[t.position]==='"'),t.position++;i+=_o(n=>n!=='"'&&n!=="\\",e,t),!(t.position>=e.length);){let o=e[t.position];if(t.position++,o==="\\"){if(t.position>=e.length){i+="\\";break}i+=e[t.position],t.position++}else{Lo(o==='"');break}}return s?i:e.slice(r,t.position)}function Yy(e){Lo(e!=="failure");let{parameters:t,essence:s}=e,r=s;for(let[i,o]of t.entries())r+=";",r+=i,r+="=",oi.test(o)||(o=o.replace(/(\\|")/g,"\\$1"),o='"'+o,o+='"'),r+=o;return r}function Oy(e){return e===13||e===10||e===9||e===32}function Mo(e,t=!0,s=!0){return ZA(e,t,s,Oy)}function Jy(e){return e===13||e===10||e===9||e===12||e===32}function Py(e,t=!0,s=!0){return ZA(e,t,s,Jy)}function ZA(e,t,s,r){let i=0,o=e.length-1;if(t)for(;i0&&r(e.charCodeAt(o));)o--;return i===0&&o===e.length-1?e:e.slice(i,o+1)}function sh(e){let t=e.length;if(65535>t)return String.fromCharCode.apply(null,e);let s="",r=0,i=65535;for(;rt&&(i=t-r),s+=String.fromCharCode.apply(null,e.subarray(r,r+=i));return s}function Hy(e){switch(e.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 e.subtype.endsWith("+json")?"application/json":e.subtype.endsWith("+xml")?"application/xml":""}rh.exports={dataURLProcessor:My,URLSerializer:$g,collectASequenceOfCodePoints:_o,collectASequenceOfCodePointsFast:nr,stringPercentDecode:eh,parseMIMEType:zA,collectAnHTTPQuotedString:th,serializeAMimeType:Yy,removeChars:ZA,removeHTTPWhitespace:Mo,minimizeSupportedMimeType:Hy,HTTP_TOKEN_CODEPOINTS:oi,isomorphicDecode:sh}});var ge=Q((x2,ih)=>{"use strict";var{types:Et,inspect:Vy}=require("node:util"),{markAsUncloneable:qy}=require("node:worker_threads"),{toUSVString:Wy}=N(),I={};I.converters={};I.util={};I.errors={};I.errors.exception=function(e){return new TypeError(`${e.header}: ${e.message}`)};I.errors.conversionFailed=function(e){let t=e.types.length===1?"":" one of",s=`${e.argument} could not be converted to${t}: ${e.types.join(", ")}.`;return I.errors.exception({header:e.prefix,message:s})};I.errors.invalidArgument=function(e){return I.errors.exception({header:e.prefix,message:`"${e.value}" is an invalid ${e.type}.`})};I.brandCheck=function(e,t,s){if(s?.strict!==!1){if(!(e instanceof t)){let r=new TypeError("Illegal invocation");throw r.code="ERR_INVALID_THIS",r}}else if(e?.[Symbol.toStringTag]!==t.prototype[Symbol.toStringTag]){let r=new TypeError("Illegal invocation");throw r.code="ERR_INVALID_THIS",r}};I.argumentLengthCheck=function({length:e},t,s){if(e{});I.util.ConvertToInt=function(e,t,s,r){let i,o;t===64?(i=Math.pow(2,53)-1,s==="unsigned"?o=0:o=Math.pow(-2,53)+1):s==="unsigned"?(o=0,i=Math.pow(2,t)-1):(o=Math.pow(-2,t)-1,i=Math.pow(2,t-1)-1);let n=Number(e);if(n===0&&(n=0),r?.enforceRange===!0){if(Number.isNaN(n)||n===Number.POSITIVE_INFINITY||n===Number.NEGATIVE_INFINITY)throw I.errors.exception({header:"Integer conversion",message:`Could not convert ${I.util.Stringify(e)} to an integer.`});if(n=I.util.IntegerPart(n),ni)throw I.errors.exception({header:"Integer conversion",message:`Value must be between ${o}-${i}, got ${n}.`});return n}return!Number.isNaN(n)&&r?.clamp===!0?(n=Math.min(Math.max(n,o),i),Math.floor(n)%2===0?n=Math.floor(n):n=Math.ceil(n),n):Number.isNaN(n)||n===0&&Object.is(0,n)||n===Number.POSITIVE_INFINITY||n===Number.NEGATIVE_INFINITY?0:(n=I.util.IntegerPart(n),n=n%Math.pow(2,t),s==="signed"&&n>=Math.pow(2,t)-1?n-Math.pow(2,t):n)};I.util.IntegerPart=function(e){let t=Math.floor(Math.abs(e));return e<0?-1*t:t};I.util.Stringify=function(e){switch(I.util.Type(e)){case"Symbol":return`Symbol(${e.description})`;case"Object":return Vy(e);case"String":return`"${e}"`;default:return`${e}`}};I.sequenceConverter=function(e){return(t,s,r,i)=>{if(I.util.Type(t)!=="Object")throw I.errors.exception({header:s,message:`${r} (${I.util.Stringify(t)}) is not iterable.`});let o=typeof i=="function"?i():t?.[Symbol.iterator]?.(),n=[],a=0;if(o===void 0||typeof o.next!="function")throw I.errors.exception({header:s,message:`${r} is not iterable.`});for(;;){let{done:A,value:c}=o.next();if(A)break;n.push(e(c,s,`${r}[${a++}]`))}return n}};I.recordConverter=function(e,t){return(s,r,i)=>{if(I.util.Type(s)!=="Object")throw I.errors.exception({header:r,message:`${i} ("${I.util.Type(s)}") is not an Object.`});let o={};if(!Et.isProxy(s)){let a=[...Object.getOwnPropertyNames(s),...Object.getOwnPropertySymbols(s)];for(let A of a){let c=e(A,r,i),u=t(s[A],r,i);o[c]=u}return o}let n=Reflect.ownKeys(s);for(let a of n)if(Reflect.getOwnPropertyDescriptor(s,a)?.enumerable){let c=e(a,r,i),u=t(s[a],r,i);o[c]=u}return o}};I.interfaceConverter=function(e){return(t,s,r,i)=>{if(i?.strict!==!1&&!(t instanceof e))throw I.errors.exception({header:s,message:`Expected ${r} ("${I.util.Stringify(t)}") to be an instance of ${e.name}.`});return t}};I.dictionaryConverter=function(e){return(t,s,r)=>{let i=I.util.Type(t),o={};if(i==="Null"||i==="Undefined")return o;if(i!=="Object")throw I.errors.exception({header:s,message:`Expected ${t} to be one of: Null, Undefined, Object.`});for(let n of e){let{key:a,defaultValue:A,required:c,converter:u}=n;if(c===!0&&!Object.hasOwn(t,a))throw I.errors.exception({header:s,message:`Missing required key "${a}".`});let l=t[a],p=Object.hasOwn(n,"defaultValue");if(p&&l!==null&&(l??=A()),c||p||l!==void 0){if(l=u(l,s,`${r}.${a}`),n.allowedValues&&!n.allowedValues.includes(l))throw I.errors.exception({header:s,message:`${l} is not an accepted type. Expected one of ${n.allowedValues.join(", ")}.`});o[a]=l}}return o}};I.nullableConverter=function(e){return(t,s,r)=>t===null?t:e(t,s,r)};I.converters.DOMString=function(e,t,s,r){if(e===null&&r?.legacyNullToEmptyString)return"";if(typeof e=="symbol")throw I.errors.exception({header:t,message:`${s} is a symbol, which cannot be converted to a DOMString.`});return String(e)};I.converters.ByteString=function(e,t,s){let r=I.converters.DOMString(e,t,s);for(let i=0;i255)throw new TypeError(`Cannot convert argument to a ByteString because the character at index ${i} has a value of ${r.charCodeAt(i)} which is greater than 255.`);return r};I.converters.USVString=Wy;I.converters.boolean=function(e){return!!e};I.converters.any=function(e){return e};I.converters["long long"]=function(e,t,s){return I.util.ConvertToInt(e,64,"signed",void 0,t,s)};I.converters["unsigned long long"]=function(e,t,s){return I.util.ConvertToInt(e,64,"unsigned",void 0,t,s)};I.converters["unsigned long"]=function(e,t,s){return I.util.ConvertToInt(e,32,"unsigned",void 0,t,s)};I.converters["unsigned short"]=function(e,t,s,r){return I.util.ConvertToInt(e,16,"unsigned",r,t,s)};I.converters.ArrayBuffer=function(e,t,s,r){if(I.util.Type(e)!=="Object"||!Et.isAnyArrayBuffer(e))throw I.errors.conversionFailed({prefix:t,argument:`${s} ("${I.util.Stringify(e)}")`,types:["ArrayBuffer"]});if(r?.allowShared===!1&&Et.isSharedArrayBuffer(e))throw I.errors.exception({header:"ArrayBuffer",message:"SharedArrayBuffer is not allowed."});if(e.resizable||e.growable)throw I.errors.exception({header:"ArrayBuffer",message:"Received a resizable ArrayBuffer."});return e};I.converters.TypedArray=function(e,t,s,r,i){if(I.util.Type(e)!=="Object"||!Et.isTypedArray(e)||e.constructor.name!==t.name)throw I.errors.conversionFailed({prefix:s,argument:`${r} ("${I.util.Stringify(e)}")`,types:[t.name]});if(i?.allowShared===!1&&Et.isSharedArrayBuffer(e.buffer))throw I.errors.exception({header:"ArrayBuffer",message:"SharedArrayBuffer is not allowed."});if(e.buffer.resizable||e.buffer.growable)throw I.errors.exception({header:"ArrayBuffer",message:"Received a resizable ArrayBuffer."});return e};I.converters.DataView=function(e,t,s,r){if(I.util.Type(e)!=="Object"||!Et.isDataView(e))throw I.errors.exception({header:t,message:`${s} is not a DataView.`});if(r?.allowShared===!1&&Et.isSharedArrayBuffer(e.buffer))throw I.errors.exception({header:"ArrayBuffer",message:"SharedArrayBuffer is not allowed."});if(e.buffer.resizable||e.buffer.growable)throw I.errors.exception({header:"ArrayBuffer",message:"Received a resizable ArrayBuffer."});return e};I.converters.BufferSource=function(e,t,s,r){if(Et.isAnyArrayBuffer(e))return I.converters.ArrayBuffer(e,t,s,{...r,allowShared:!1});if(Et.isTypedArray(e))return I.converters.TypedArray(e,e.constructor,t,s,{...r,allowShared:!1});if(Et.isDataView(e))return I.converters.DataView(e,t,s,{...r,allowShared:!1});throw I.errors.conversionFailed({prefix:t,argument:`${s} ("${I.util.Stringify(e)}")`,types:["BufferSource"]})};I.converters["sequence"]=I.sequenceConverter(I.converters.ByteString);I.converters["sequence>"]=I.sequenceConverter(I.converters["sequence"]);I.converters["record"]=I.recordConverter(I.converters.ByteString,I.converters.ByteString);ih.exports={webidl:I}});var Ue=Q((v2,fh)=>{"use strict";var{Transform:jy}=require("node:stream"),oh=require("node:zlib"),{redirectStatusSet:zy,referrerPolicySet:Zy,badPortsSet:Ky}=ii(),{getGlobalOrigin:nh}=jA(),{collectASequenceOfCodePoints:Is,collectAnHTTPQuotedString:Xy,removeChars:$y,parseMIMEType:ex}=ve(),{performance:tx}=require("node:perf_hooks"),{isBlobLike:sx,ReadableStreamFrom:rx,isValidHTTPToken:ah,normalizedMethodRecordsBase:ix}=N(),ws=require("node:assert"),{isUint8Array:ox}=require("node:util/types"),{webidl:ni}=ge(),Ah=[],Oo;try{Oo=require("node:crypto");let e=["sha256","sha384","sha512"];Ah=Oo.getHashes().filter(t=>e.includes(t))}catch{}function ch(e){let t=e.urlList,s=t.length;return s===0?null:t[s-1].toString()}function nx(e,t){if(!zy.has(e.status))return null;let s=e.headersList.get("location",!0);return s!==null&&uh(s)&&(lh(s)||(s=ax(s)),s=new URL(s,ch(e))),s&&!s.hash&&(s.hash=t),s}function lh(e){for(let t=0;t126||s<32)return!1}return!0}function ax(e){return Buffer.from(e,"binary").toString("utf8")}function Ai(e){return e.urlList[e.urlList.length-1]}function Ax(e){let t=Ai(e);return Eh(t)&&Ky.has(t.port)?"blocked":"allowed"}function cx(e){return e instanceof Error||e?.constructor?.name==="Error"||e?.constructor?.name==="DOMException"}function lx(e){for(let t=0;t=32&&s<=126||s>=128&&s<=255))return!1}return!0}var ux=ah;function uh(e){return(e[0]===" "||e[0]===" "||e[e.length-1]===" "||e[e.length-1]===" "||e.includes(` +`)||e.includes("\r")||e.includes("\0"))===!1}function px(e,t){let{headersList:s}=t,r=(s.get("referrer-policy",!0)??"").split(","),i="";if(r.length>0)for(let o=r.length;o!==0;o--){let n=r[o-1].trim();if(Zy.has(n)){i=n;break}}i!==""&&(e.referrerPolicy=i)}function gx(){return"allowed"}function hx(){return"success"}function dx(){return"success"}function Ex(e){let t=null;t=e.mode,e.headersList.set("sec-fetch-mode",t,!0)}function mx(e){let t=e.origin;if(!(t==="client"||t===void 0)){if(e.responseTainting==="cors"||e.mode==="websocket")e.headersList.append("origin",t,!0);else if(e.method!=="GET"&&e.method!=="HEAD"){switch(e.referrerPolicy){case"no-referrer":t=null;break;case"no-referrer-when-downgrade":case"strict-origin":case"strict-origin-when-cross-origin":e.origin&&XA(e.origin)&&!XA(Ai(e))&&(t=null);break;case"same-origin":Jo(e,Ai(e))||(t=null);break;default:}e.headersList.append("origin",t,!0)}}}function ar(e,t){return e}function fx(e,t,s){return!e?.startTime||e.startTime4096&&(r=i);let o=Jo(e,r),n=ai(r)&&!ai(e.url);switch(t){case"origin":return i??KA(s,!0);case"unsafe-url":return r;case"same-origin":return o?i:"no-referrer";case"origin-when-cross-origin":return o?r:i;case"strict-origin-when-cross-origin":{let a=Ai(e);return Jo(r,a)?r:ai(r)&&!ai(a)?"no-referrer":i}default:return n?"no-referrer":i}}function KA(e,t){return ws(e instanceof URL),e=new URL(e),e.protocol==="file:"||e.protocol==="about:"||e.protocol==="blank:"?"no-referrer":(e.username="",e.password="",e.hash="",t&&(e.pathname="",e.search=""),e)}function ai(e){if(!(e instanceof URL))return!1;if(e.href==="about:blank"||e.href==="about:srcdoc"||e.protocol==="data:"||e.protocol==="file:")return!0;return t(e.origin);function t(s){if(s==null||s==="null")return!1;let r=new URL(s);return!!(r.protocol==="https:"||r.protocol==="wss:"||/^127(?:\.[0-9]+){0,2}\.[0-9]+$|^\[(?:0*:)*?:?0*1\]$/.test(r.hostname)||r.hostname==="localhost"||r.hostname.includes("localhost.")||r.hostname.endsWith(".localhost"))}}function wx(e,t){if(Oo===void 0)return!0;let s=gh(t);if(s==="no metadata"||s.length===0)return!0;let r=yx(s),i=xx(s,r);for(let o of i){let n=o.algo,a=o.hash,A=Oo.createHash(n).update(e).digest("base64");if(A[A.length-1]==="="&&(A[A.length-2]==="="?A=A.slice(0,-2):A=A.slice(0,-1)),vx(A,a))return!0}return!1}var bx=/(?sha256|sha384|sha512)-((?[A-Za-z0-9+/]+|[A-Za-z0-9_-]+)={0,2}(?:\s|$)( +[!-~]*)?)?/i;function gh(e){let t=[],s=!0;for(let r of e.split(" ")){s=!1;let i=bx.exec(r);if(i===null||i.groups===void 0||i.groups.algo===void 0)continue;let o=i.groups.algo.toLowerCase();Ah.includes(o)&&t.push(i.groups)}return s===!0?"no metadata":t}function yx(e){let t=e[0].algo;if(t[3]==="5")return t;for(let s=1;s{e=r,t=i}),resolve:e,reject:t}}function Rx(e){return e.controller.state==="aborted"}function Tx(e){return e.controller.state==="aborted"||e.controller.state==="terminated"}function Fx(e){return ix[e.toLowerCase()]??e}function Sx(e){let t=JSON.stringify(e);if(t===void 0)throw new TypeError("Value is not JSON serializable");return ws(typeof t=="string"),t}var Ux=Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));function hh(e,t,s=0,r=1){class i{#e;#t;#i;constructor(n,a){this.#e=n,this.#t=a,this.#i=0}next(){if(typeof this!="object"||this===null||!(#e in this))throw new TypeError(`'next' called on an object that does not implement interface ${e} Iterator.`);let n=this.#i,a=this.#e[t],A=a.length;if(n>=A)return{value:void 0,done:!0};let{[s]:c,[r]:u}=a[n];this.#i=n+1;let l;switch(this.#t){case"key":l=c;break;case"value":l=u;break;case"key+value":l=[c,u];break}return{value:l,done:!1}}}return delete i.prototype.constructor,Object.setPrototypeOf(i.prototype,Ux),Object.defineProperties(i.prototype,{[Symbol.toStringTag]:{writable:!1,enumerable:!1,configurable:!0,value:`${e} Iterator`},next:{writable:!0,enumerable:!0,configurable:!0}}),function(o,n){return new i(o,n)}}function Nx(e,t,s,r=0,i=1){let o=hh(e,s,r,i),n={keys:{writable:!0,enumerable:!0,configurable:!0,value:function(){return ni.brandCheck(this,t),o(this,"key")}},values:{writable:!0,enumerable:!0,configurable:!0,value:function(){return ni.brandCheck(this,t),o(this,"value")}},entries:{writable:!0,enumerable:!0,configurable:!0,value:function(){return ni.brandCheck(this,t),o(this,"key+value")}},forEach:{writable:!0,enumerable:!0,configurable:!0,value:function(A,c=globalThis){if(ni.brandCheck(this,t),ni.argumentLengthCheck(arguments,1,`${e}.forEach`),typeof A!="function")throw new TypeError(`Failed to execute 'forEach' on '${e}': parameter 1 is not of type 'Function'.`);for(let{0:u,1:l}of o(this,"key+value"))A.call(c,l,u,this)}}};return Object.defineProperties(t.prototype,{...n,[Symbol.iterator]:{writable:!0,enumerable:!1,configurable:!0,value:n.entries.value}})}async function Gx(e,t,s){let r=t,i=s,o;try{o=e.stream.getReader()}catch(n){i(n);return}try{r(await dh(o))}catch(n){i(n)}}function Mx(e){return e instanceof ReadableStream||e[Symbol.toStringTag]==="ReadableStream"&&typeof e.tee=="function"}function Lx(e){try{e.close(),e.byobRequest?.respond(0)}catch(t){if(!t.message.includes("Controller is already closed")&&!t.message.includes("ReadableStream is already closed"))throw t}}var _x=/[^\x00-\xFF]/;function Yo(e){return ws(!_x.test(e)),e}async function dh(e){let t=[],s=0;for(;;){let{done:r,value:i}=await e.read();if(r)return Buffer.concat(t,s);if(!ox(i))throw new TypeError("Received non-Uint8Array chunk");t.push(i),s+=i.length}}function Yx(e){ws("protocol"in e);let t=e.protocol;return t==="about:"||t==="blob:"||t==="data:"}function XA(e){return typeof e=="string"&&e[5]===":"&&e[0]==="h"&&e[1]==="t"&&e[2]==="t"&&e[3]==="p"&&e[4]==="s"||e.protocol==="https:"}function Eh(e){ws("protocol"in e);let t=e.protocol;return t==="http:"||t==="https:"}function Ox(e,t){let s=e;if(!s.startsWith("bytes"))return"failure";let r={position:5};if(t&&Is(A=>A===" "||A===" ",s,r),s.charCodeAt(r.position)!==61)return"failure";r.position++,t&&Is(A=>A===" "||A===" ",s,r);let i=Is(A=>{let c=A.charCodeAt(0);return c>=48&&c<=57},s,r),o=i.length?Number(i):null;if(t&&Is(A=>A===" "||A===" ",s,r),s.charCodeAt(r.position)!==45)return"failure";r.position++,t&&Is(A=>A===" "||A===" ",s,r);let n=Is(A=>{let c=A.charCodeAt(0);return c>=48&&c<=57},s,r),a=n.length?Number(n):null;return r.positiona?"failure":{rangeStartValue:o,rangeEndValue:a}}function Jx(e,t,s){let r="bytes ";return r+=Yo(`${e}`),r+="-",r+=Yo(`${t}`),r+="/",r+=Yo(`${s}`),r}var $A=class extends jy{#e;constructor(t){super(),this.#e=t}_transform(t,s,r){if(!this._inflateStream){if(t.length===0){r();return}this._inflateStream=(t[0]&15)===8?oh.createInflate(this.#e):oh.createInflateRaw(this.#e),this._inflateStream.on("data",this.push.bind(this)),this._inflateStream.on("end",()=>this.push(null)),this._inflateStream.on("error",i=>this.destroy(i))}this._inflateStream.write(t,s,r)}_final(t){this._inflateStream&&(this._inflateStream.end(),this._inflateStream=null),t()}};function Px(e){return new $A(e)}function Hx(e){let t=null,s=null,r=null,i=mh("content-type",e);if(i===null)return"failure";for(let o of i){let n=ex(o);n==="failure"||n.essence==="*/*"||(r=n,r.essence!==s?(t=null,r.parameters.has("charset")&&(t=r.parameters.get("charset")),s=r.essence):!r.parameters.has("charset")&&t!==null&&r.parameters.set("charset",t))}return r??"failure"}function Vx(e){let t=e,s={position:0},r=[],i="";for(;s.positiono!=='"'&&o!==",",t,s),s.positiono===9||o===32),r.push(i),i=""}return r}function mh(e,t){let s=t.get(e,!0);return s===null?null:Vx(s)}var qx=new TextDecoder;function Wx(e){return e.length===0?"":(e[0]===239&&e[1]===187&&e[2]===191&&(e=e.subarray(3)),qx.decode(e))}var ec=class{get baseUrl(){return nh()}get origin(){return this.baseUrl?.origin}policyContainer=ph()},tc=class{settingsObject=new ec},jx=new tc;fh.exports={isAborted:Rx,isCancelled:Tx,isValidEncodedURL:lh,createDeferredPromise:Dx,ReadableStreamFrom:rx,tryUpgradeRequestToAPotentiallyTrustworthyURL:kx,clampAndCoarsenConnectionTimingInfo:fx,coarsenedSharedCurrentTime:Qx,determineRequestsReferrer:Ix,makePolicyContainer:ph,clonePolicyContainer:Cx,appendFetchMetadata:Ex,appendRequestOriginHeader:mx,TAOCheck:dx,corsCheck:hx,crossOriginResourcePolicyCheck:gx,createOpaqueTimingInfo:Bx,setRequestReferrerPolicyOnRedirect:px,isValidHTTPToken:ah,requestBadPort:Ax,requestCurrentURL:Ai,responseURL:ch,responseLocationURL:nx,isBlobLike:sx,isURLPotentiallyTrustworthy:ai,isValidReasonPhrase:lx,sameOrigin:Jo,normalizeMethod:Fx,serializeJavascriptValueToJSONString:Sx,iteratorMixin:Nx,createIterator:hh,isValidHeaderName:ux,isValidHeaderValue:uh,isErrorLike:cx,fullyReadBody:Gx,bytesMatch:wx,isReadableStreamLike:Mx,readableStreamClose:Lx,isomorphicEncode:Yo,urlIsLocal:Yx,urlHasHttpsScheme:XA,urlIsHttpHttpsScheme:Eh,readAllBytes:dh,simpleRangeHeaderValue:Ox,buildContentRange:Jx,parseMetadata:gh,createInflate:Px,extractMimeType:Hx,getDecodeSplit:mh,utf8DecodeBytes:Wx,environmentSettingsObject:jx}});var Kt=Q((k2,Qh)=>{"use strict";Qh.exports={kUrl:Symbol("url"),kHeaders:Symbol("headers"),kSignal:Symbol("signal"),kState:Symbol("state"),kDispatcher:Symbol("dispatcher")}});var rc=Q((D2,Bh)=>{"use strict";var{Blob:zx,File:Zx}=require("node:buffer"),{kState:Nt}=Kt(),{webidl:mt}=ge(),sc=class e{constructor(t,s,r={}){let i=s,o=r.type,n=r.lastModified??Date.now();this[Nt]={blobLike:t,name:i,type:o,lastModified:n}}stream(...t){return mt.brandCheck(this,e),this[Nt].blobLike.stream(...t)}arrayBuffer(...t){return mt.brandCheck(this,e),this[Nt].blobLike.arrayBuffer(...t)}slice(...t){return mt.brandCheck(this,e),this[Nt].blobLike.slice(...t)}text(...t){return mt.brandCheck(this,e),this[Nt].blobLike.text(...t)}get size(){return mt.brandCheck(this,e),this[Nt].blobLike.size}get type(){return mt.brandCheck(this,e),this[Nt].blobLike.type}get name(){return mt.brandCheck(this,e),this[Nt].name}get lastModified(){return mt.brandCheck(this,e),this[Nt].lastModified}get[Symbol.toStringTag](){return"File"}};mt.converters.Blob=mt.interfaceConverter(zx);function Kx(e){return e instanceof Zx||e&&(typeof e.stream=="function"||typeof e.arrayBuffer=="function")&&e[Symbol.toStringTag]==="File"}Bh.exports={FileLike:sc,isFileLike:Kx}});var li=Q((R2,yh)=>{"use strict";var{isBlobLike:Po,iteratorMixin:Xx}=Ue(),{kState:Be}=Kt(),{kEnumerableProperty:Ar}=N(),{FileLike:Ch,isFileLike:$x}=rc(),{webidl:q}=ge(),{File:bh}=require("node:buffer"),Ih=require("node:util"),wh=globalThis.File??bh,ci=class e{constructor(t){if(q.util.markAsUncloneable(this),t!==void 0)throw q.errors.conversionFailed({prefix:"FormData constructor",argument:"Argument 1",types:["undefined"]});this[Be]=[]}append(t,s,r=void 0){q.brandCheck(this,e);let i="FormData.append";if(q.argumentLengthCheck(arguments,2,i),arguments.length===3&&!Po(s))throw new TypeError("Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'");t=q.converters.USVString(t,i,"name"),s=Po(s)?q.converters.Blob(s,i,"value",{strict:!1}):q.converters.USVString(s,i,"value"),r=arguments.length===3?q.converters.USVString(r,i,"filename"):void 0;let o=ic(t,s,r);this[Be].push(o)}delete(t){q.brandCheck(this,e);let s="FormData.delete";q.argumentLengthCheck(arguments,1,s),t=q.converters.USVString(t,s,"name"),this[Be]=this[Be].filter(r=>r.name!==t)}get(t){q.brandCheck(this,e);let s="FormData.get";q.argumentLengthCheck(arguments,1,s),t=q.converters.USVString(t,s,"name");let r=this[Be].findIndex(i=>i.name===t);return r===-1?null:this[Be][r].value}getAll(t){q.brandCheck(this,e);let s="FormData.getAll";return q.argumentLengthCheck(arguments,1,s),t=q.converters.USVString(t,s,"name"),this[Be].filter(r=>r.name===t).map(r=>r.value)}has(t){q.brandCheck(this,e);let s="FormData.has";return q.argumentLengthCheck(arguments,1,s),t=q.converters.USVString(t,s,"name"),this[Be].findIndex(r=>r.name===t)!==-1}set(t,s,r=void 0){q.brandCheck(this,e);let i="FormData.set";if(q.argumentLengthCheck(arguments,2,i),arguments.length===3&&!Po(s))throw new TypeError("Failed to execute 'set' on 'FormData': parameter 2 is not of type 'Blob'");t=q.converters.USVString(t,i,"name"),s=Po(s)?q.converters.Blob(s,i,"name",{strict:!1}):q.converters.USVString(s,i,"name"),r=arguments.length===3?q.converters.USVString(r,i,"name"):void 0;let o=ic(t,s,r),n=this[Be].findIndex(a=>a.name===t);n!==-1?this[Be]=[...this[Be].slice(0,n),o,...this[Be].slice(n+1).filter(a=>a.name!==t)]:this[Be].push(o)}[Ih.inspect.custom](t,s){let r=this[Be].reduce((o,n)=>(o[n.name]?Array.isArray(o[n.name])?o[n.name].push(n.value):o[n.name]=[o[n.name],n.value]:o[n.name]=n.value,o),{__proto__:null});s.depth??=t,s.colors??=!0;let i=Ih.formatWithOptions(s,r);return`FormData ${i.slice(i.indexOf("]")+2)}`}};Xx("FormData",ci,Be,"name","value");Object.defineProperties(ci.prototype,{append:Ar,delete:Ar,get:Ar,getAll:Ar,has:Ar,set:Ar,[Symbol.toStringTag]:{value:"FormData",configurable:!0}});function ic(e,t,s){if(typeof t!="string"){if($x(t)||(t=t instanceof Blob?new wh([t],"blob",{type:t.type}):new Ch(t,"blob",{type:t.type})),s!==void 0){let r={type:t.type,lastModified:t.lastModified};t=t instanceof bh?new wh([t],s,r):new Ch(t,s,r)}}return{name:e,value:t}}yh.exports={FormData:ci,makeEntry:ic}});var Th=Q((T2,Rh)=>{"use strict";var{isUSVString:xh,bufferToLowerCasedHeaderName:ev}=N(),{utf8DecodeBytes:tv}=Ue(),{HTTP_TOKEN_CODEPOINTS:sv,isomorphicDecode:vh}=ve(),{isFileLike:rv}=rc(),{makeEntry:iv}=li(),Ho=require("node:assert"),{File:ov}=require("node:buffer"),nv=globalThis.File??ov,av=Buffer.from('form-data; name="'),kh=Buffer.from("; filename"),Av=Buffer.from("--"),cv=Buffer.from(`--\r +`);function lv(e){for(let t=0;t70)return!1;for(let s=0;s=48&&r<=57||r>=65&&r<=90||r>=97&&r<=122||r===39||r===45||r===95))return!1}return!0}function pv(e,t){Ho(t!=="failure"&&t.essence==="multipart/form-data");let s=t.parameters.get("boundary");if(s===void 0)return"failure";let r=Buffer.from(`--${s}`,"utf8"),i=[],o={position:0};for(;e[o.position]===13&&e[o.position+1]===10;)o.position+=2;let n=e.length;for(;e[n-1]===10&&e[n-2]===13;)n-=2;for(n!==e.length&&(e=e.subarray(0,n));;){if(e.subarray(o.position,o.position+r.length).equals(r))o.position+=r.length;else return"failure";if(o.position===e.length-2&&Vo(e,Av,o)||o.position===e.length-4&&Vo(e,cv,o))return i;if(e[o.position]!==13||e[o.position+1]!==10)return"failure";o.position+=2;let a=gv(e,o);if(a==="failure")return"failure";let{name:A,filename:c,contentType:u,encoding:l}=a;o.position+=2;let p;{let h=e.indexOf(r.subarray(2),o.position);if(h===-1)return"failure";p=e.subarray(o.position,h-4),o.position+=p.length,l==="base64"&&(p=Buffer.from(p.toString(),"base64"))}if(e[o.position]!==13||e[o.position+1]!==10)return"failure";o.position+=2;let g;c!==null?(u??="text/plain",lv(u)||(u=""),g=new nv([p],c,{type:u})):g=tv(Buffer.from(p)),Ho(xh(A)),Ho(typeof g=="string"&&xh(g)||rv(g)),i.push(iv(A,g,c))}}function gv(e,t){let s=null,r=null,i=null,o=null;for(;;){if(e[t.position]===13&&e[t.position+1]===10)return s===null?"failure":{name:s,filename:r,contentType:i,encoding:o};let n=cr(a=>a!==10&&a!==13&&a!==58,e,t);if(n=oc(n,!0,!0,a=>a===9||a===32),!sv.test(n.toString())||e[t.position]!==58)return"failure";switch(t.position++,cr(a=>a===32||a===9,e,t),ev(n)){case"content-disposition":{if(s=r=null,!Vo(e,av,t)||(t.position+=17,s=Dh(e,t),s===null))return"failure";if(Vo(e,kh,t)){let a=t.position+kh.length;if(e[a]===42&&(t.position+=1,a+=1),e[a]!==61||e[a+1]!==34||(t.position+=12,r=Dh(e,t),r===null))return"failure"}break}case"content-type":{let a=cr(A=>A!==10&&A!==13,e,t);a=oc(a,!1,!0,A=>A===9||A===32),i=vh(a);break}case"content-transfer-encoding":{let a=cr(A=>A!==10&&A!==13,e,t);a=oc(a,!1,!0,A=>A===9||A===32),o=vh(a);break}default:cr(a=>a!==10&&a!==13,e,t)}if(e[t.position]!==13&&e[t.position+1]!==10)return"failure";t.position+=2}}function Dh(e,t){Ho(e[t.position-1]===34);let s=cr(r=>r!==10&&r!==13&&r!==34,e,t);return e[t.position]!==34?null:(t.position++,s=new TextDecoder().decode(s).replace(/%0A/ig,` +`).replace(/%0D/ig,"\r").replace(/%22/g,'"'),s)}function cr(e,t,s){let r=s.position;for(;r0&&r(e[o]);)o--;return i===0&&o===e.length-1?e:e.subarray(i,o+1)}function Vo(e,t,s){if(e.length{"use strict";var ui=N(),{ReadableStreamFrom:hv,isBlobLike:Fh,isReadableStreamLike:dv,readableStreamClose:Ev,createDeferredPromise:mv,fullyReadBody:fv,extractMimeType:Qv,utf8DecodeBytes:Nh}=Ue(),{FormData:Sh}=li(),{kState:ur}=Kt(),{webidl:Bv}=ge(),{Blob:Cv}=require("node:buffer"),nc=require("node:assert"),{isErrored:Gh,isDisturbed:Iv}=require("node:stream"),{isArrayBuffer:wv}=require("node:util/types"),{serializeAMimeType:bv}=ve(),{multipartFormDataParser:yv}=Th(),ac;try{let e=require("node:crypto");ac=t=>e.randomInt(0,t)}catch{ac=e=>Math.floor(Math.random(e))}var qo=new TextEncoder;function xv(){}var Mh=globalThis.FinalizationRegistry&&process.version.indexOf("v18")!==0,Lh;Mh&&(Lh=new FinalizationRegistry(e=>{let t=e.deref();t&&!t.locked&&!Iv(t)&&!Gh(t)&&t.cancel("Response object has been garbage collected").catch(xv)}));function _h(e,t=!1){let s=null;e instanceof ReadableStream?s=e:Fh(e)?s=e.stream():s=new ReadableStream({async pull(A){let c=typeof i=="string"?qo.encode(i):i;c.byteLength&&A.enqueue(c),queueMicrotask(()=>Ev(A))},start(){},type:"bytes"}),nc(dv(s));let r=null,i=null,o=null,n=null;if(typeof e=="string")i=e,n="text/plain;charset=UTF-8";else if(e instanceof URLSearchParams)i=e.toString(),n="application/x-www-form-urlencoded;charset=UTF-8";else if(wv(e))i=new Uint8Array(e.slice());else if(ArrayBuffer.isView(e))i=new Uint8Array(e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength));else if(ui.isFormDataLike(e)){let A=`----formdata-undici-0${`${ac(1e11)}`.padStart(11,"0")}`,c=`--${A}\r +Content-Disposition: form-data`;let u=f=>f.replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/"/g,"%22"),l=f=>f.replace(/\r?\n|\r/g,`\r +`),p=[],g=new Uint8Array([13,10]);o=0;let h=!1;for(let[f,d]of e)if(typeof d=="string"){let m=qo.encode(c+`; name="${u(l(f))}"\r +\r +${l(d)}\r +`);p.push(m),o+=m.byteLength}else{let m=qo.encode(`${c}; name="${u(l(f))}"`+(d.name?`; filename="${u(d.name)}"`:"")+`\r +Content-Type: ${d.type||"application/octet-stream"}\r +\r +`);p.push(m,d,g),typeof d.size=="number"?o+=m.byteLength+d.size+g.byteLength:h=!0}let E=qo.encode(`--${A}--\r +`);p.push(E),o+=E.byteLength,h&&(o=null),i=e,r=async function*(){for(let f of p)f.stream?yield*f.stream():yield f},n=`multipart/form-data; boundary=${A}`}else if(Fh(e))i=e,o=e.size,e.type&&(n=e.type);else if(typeof e[Symbol.asyncIterator]=="function"){if(t)throw new TypeError("keepalive");if(ui.isDisturbed(e)||e.locked)throw new TypeError("Response body object should not be disturbed or locked");s=e instanceof ReadableStream?e:hv(e)}if((typeof i=="string"||ui.isBuffer(i))&&(o=Buffer.byteLength(i)),r!=null){let A;s=new ReadableStream({async start(){A=r(e)[Symbol.asyncIterator]()},async pull(c){let{value:u,done:l}=await A.next();if(l)queueMicrotask(()=>{c.close(),c.byobRequest?.respond(0)});else if(!Gh(s)){let p=new Uint8Array(u);p.byteLength&&c.enqueue(p)}return c.desiredSize>0},async cancel(c){await A.return()},type:"bytes"})}return[{stream:s,source:i,length:o},n]}function vv(e,t=!1){return e instanceof ReadableStream&&(nc(!ui.isDisturbed(e),"The body has already been consumed."),nc(!e.locked,"The stream is locked.")),_h(e,t)}function kv(e,t){let[s,r]=t.stream.tee();return t.stream=s,{stream:r,length:t.length,source:t.source}}function Dv(e){if(e.aborted)throw new DOMException("The operation was aborted.","AbortError")}function Rv(e){return{blob(){return lr(this,s=>{let r=Uh(this);return r===null?r="":r&&(r=bv(r)),new Cv([s],{type:r})},e)},arrayBuffer(){return lr(this,s=>new Uint8Array(s).buffer,e)},text(){return lr(this,Nh,e)},json(){return lr(this,Fv,e)},formData(){return lr(this,s=>{let r=Uh(this);if(r!==null)switch(r.essence){case"multipart/form-data":{let i=yv(s,r);if(i==="failure")throw new TypeError("Failed to parse body as FormData.");let o=new Sh;return o[ur]=i,o}case"application/x-www-form-urlencoded":{let i=new URLSearchParams(s.toString()),o=new Sh;for(let[n,a]of i)o.append(n,a);return o}}throw new TypeError('Content-Type was not one of "multipart/form-data" or "application/x-www-form-urlencoded".')},e)},bytes(){return lr(this,s=>new Uint8Array(s),e)}}}function Tv(e){Object.assign(e.prototype,Rv(e))}async function lr(e,t,s){if(Bv.brandCheck(e,s),Yh(e))throw new TypeError("Body is unusable: Body has already been read");Dv(e[ur]);let r=mv(),i=n=>r.reject(n),o=n=>{try{r.resolve(t(n))}catch(a){i(a)}};return e[ur].body==null?(o(Buffer.allocUnsafe(0)),r.promise):(await fv(e[ur].body,o,i),r.promise)}function Yh(e){let t=e[ur].body;return t!=null&&(t.stream.locked||ui.isDisturbed(t.stream))}function Fv(e){return JSON.parse(Nh(e))}function Uh(e){let t=e[ur].headersList,s=Qv(t);return s==="failure"?null:s}Oh.exports={extractBody:_h,safelyExtractBody:vv,cloneBody:kv,mixinBody:Tv,streamRegistry:Lh,hasFinalizationRegistry:Mh,bodyUnusable:Yh}});var Xh=Q((S2,Kh)=>{"use strict";var k=require("node:assert"),F=N(),{channels:Jh}=$s(),Ac=PA(),{RequestContentLengthMismatchError:bs,ResponseContentLengthMismatchError:Sv,RequestAbortedError:jh,HeadersTimeoutError:Uv,HeadersOverflowError:Nv,SocketError:Xo,InformationalError:gr,BodyTimeoutError:Gv,HTTPParserError:Mv,ResponseExceededMaxSizeError:Lv}=Y(),{kUrl:zh,kReset:ke,kClient:pc,kParser:X,kBlocking:hi,kRunning:Ee,kPending:_v,kSize:Ph,kWriting:$t,kQueue:st,kNoRef:pi,kKeepAliveDefaultTimeout:Yv,kHostHeader:Ov,kPendingIdx:Jv,kRunningIdx:qe,kError:We,kPipelining:Zo,kSocket:hr,kKeepAliveTimeoutValue:$o,kMaxHeadersSize:cc,kKeepAliveMaxTimeout:Pv,kKeepAliveTimeoutThreshold:Hv,kHeadersTimeout:Vv,kBodyTimeout:qv,kStrictContentLength:gc,kMaxRequests:Hh,kCounter:Wv,kMaxResponseSize:jv,kOnError:zv,kResume:Xt,kHTTPContext:Zh}=j(),ft=Lg(),Zv=Buffer.alloc(0),Wo=Buffer[Symbol.species],jo=F.addListener,Kv=F.removeAllListeners,lc;async function Xv(){let e=process.env.JEST_WORKER_ID?qA():void 0,t;try{t=await WebAssembly.compile(Og())}catch{t=await WebAssembly.compile(e||qA())}return await WebAssembly.instantiate(t,{env:{wasm_on_url:(s,r,i)=>0,wasm_on_status:(s,r,i)=>{k(oe.ptr===s);let o=r-Bt+Qt.byteOffset;return oe.onStatus(new Wo(Qt.buffer,o,i))||0},wasm_on_message_begin:s=>(k(oe.ptr===s),oe.onMessageBegin()||0),wasm_on_header_field:(s,r,i)=>{k(oe.ptr===s);let o=r-Bt+Qt.byteOffset;return oe.onHeaderField(new Wo(Qt.buffer,o,i))||0},wasm_on_header_value:(s,r,i)=>{k(oe.ptr===s);let o=r-Bt+Qt.byteOffset;return oe.onHeaderValue(new Wo(Qt.buffer,o,i))||0},wasm_on_headers_complete:(s,r,i,o)=>(k(oe.ptr===s),oe.onHeadersComplete(r,!!i,!!o)||0),wasm_on_body:(s,r,i)=>{k(oe.ptr===s);let o=r-Bt+Qt.byteOffset;return oe.onBody(new Wo(Qt.buffer,o,i))||0},wasm_on_message_complete:s=>(k(oe.ptr===s),oe.onMessageComplete()||0)}})}var uc=null,hc=Xv();hc.catch();var oe=null,Qt=null,zo=0,Bt=null,$v=0,gi=1,dr=2|gi,Ko=4|gi,dc=8|$v,Ec=class{constructor(t,s,{exports:r}){k(Number.isFinite(t[cc])&&t[cc]>0),this.llhttp=r,this.ptr=this.llhttp.llhttp_alloc(ft.TYPE.RESPONSE),this.client=t,this.socket=s,this.timeout=null,this.timeoutValue=null,this.timeoutType=null,this.statusCode=null,this.statusText="",this.upgrade=!1,this.headers=[],this.headersSize=0,this.headersMaxSize=t[cc],this.shouldKeepAlive=!1,this.paused=!1,this.resume=this.resume.bind(this),this.bytesRead=0,this.keepAlive="",this.contentLength="",this.connection="",this.maxResponseSize=t[jv]}setTimeout(t,s){t!==this.timeoutValue||s&gi^this.timeoutType&gi?(this.timeout&&(Ac.clearTimeout(this.timeout),this.timeout=null),t&&(s&gi?this.timeout=Ac.setFastTimeout(Vh,t,new WeakRef(this)):(this.timeout=setTimeout(Vh,t,new WeakRef(this)),this.timeout.unref())),this.timeoutValue=t):this.timeout&&this.timeout.refresh&&this.timeout.refresh(),this.timeoutType=s}resume(){this.socket.destroyed||!this.paused||(k(this.ptr!=null),k(oe==null),this.llhttp.llhttp_resume(this.ptr),k(this.timeoutType===Ko),this.timeout&&this.timeout.refresh&&this.timeout.refresh(),this.paused=!1,this.execute(this.socket.read()||Zv),this.readMore())}readMore(){for(;!this.paused&&this.ptr;){let t=this.socket.read();if(t===null)break;this.execute(t)}}execute(t){k(this.ptr!=null),k(oe==null),k(!this.paused);let{socket:s,llhttp:r}=this;t.length>zo&&(Bt&&r.free(Bt),zo=Math.ceil(t.length/4096)*4096,Bt=r.malloc(zo)),new Uint8Array(r.memory.buffer,Bt,zo).set(t);try{let i;try{Qt=t,oe=this,i=r.llhttp_execute(this.ptr,Bt,t.length)}catch(n){throw n}finally{oe=null,Qt=null}let o=r.llhttp_get_error_pos(this.ptr)-Bt;if(i===ft.ERROR.PAUSED_UPGRADE)this.onUpgrade(t.slice(o));else if(i===ft.ERROR.PAUSED)this.paused=!0,s.unshift(t.slice(o));else if(i!==ft.ERROR.OK){let n=r.llhttp_get_error_reason(this.ptr),a="";if(n){let A=new Uint8Array(r.memory.buffer,n).indexOf(0);a="Response does not match the HTTP/1.1 protocol ("+Buffer.from(r.memory.buffer,n,A).toString()+")"}throw new Mv(a,ft.ERROR[i],t.slice(o))}}catch(i){F.destroy(s,i)}}destroy(){k(this.ptr!=null),k(oe==null),this.llhttp.llhttp_free(this.ptr),this.ptr=null,this.timeout&&Ac.clearTimeout(this.timeout),this.timeout=null,this.timeoutValue=null,this.timeoutType=null,this.paused=!1}onStatus(t){this.statusText=t.toString()}onMessageBegin(){let{socket:t,client:s}=this;if(t.destroyed)return-1;let r=s[st][s[qe]];if(!r)return-1;r.onResponseStarted()}onHeaderField(t){let s=this.headers.length;(s&1)===0?this.headers.push(t):this.headers[s-1]=Buffer.concat([this.headers[s-1],t]),this.trackHeader(t.length)}onHeaderValue(t){let s=this.headers.length;(s&1)===1?(this.headers.push(t),s+=1):this.headers[s-1]=Buffer.concat([this.headers[s-1],t]);let r=this.headers[s-2];if(r.length===10){let i=F.bufferToLowerCasedHeaderName(r);i==="keep-alive"?this.keepAlive+=t.toString():i==="connection"&&(this.connection+=t.toString())}else r.length===14&&F.bufferToLowerCasedHeaderName(r)==="content-length"&&(this.contentLength+=t.toString());this.trackHeader(t.length)}trackHeader(t){this.headersSize+=t,this.headersSize>=this.headersMaxSize&&F.destroy(this.socket,new Nv)}onUpgrade(t){let{upgrade:s,client:r,socket:i,headers:o,statusCode:n}=this;k(s),k(r[hr]===i),k(!i.destroyed),k(!this.paused),k((o.length&1)===0);let a=r[st][r[qe]];k(a),k(a.upgrade||a.method==="CONNECT"),this.statusCode=null,this.statusText="",this.shouldKeepAlive=null,this.headers=[],this.headersSize=0,i.unshift(t),i[X].destroy(),i[X]=null,i[pc]=null,i[We]=null,Kv(i),r[hr]=null,r[Zh]=null,r[st][r[qe]++]=null,r.emit("disconnect",r[zh],[r],new gr("upgrade"));try{a.onUpgrade(n,o,i)}catch(A){F.destroy(i,A)}r[Xt]()}onHeadersComplete(t,s,r){let{client:i,socket:o,headers:n,statusText:a}=this;if(o.destroyed)return-1;let A=i[st][i[qe]];if(!A)return-1;if(k(!this.upgrade),k(this.statusCode<200),t===100)return F.destroy(o,new Xo("bad response",F.getSocketInfo(o))),-1;if(s&&!A.upgrade)return F.destroy(o,new Xo("bad upgrade",F.getSocketInfo(o))),-1;if(k(this.timeoutType===dr),this.statusCode=t,this.shouldKeepAlive=r||A.method==="HEAD"&&!o[ke]&&this.connection.toLowerCase()==="keep-alive",this.statusCode>=200){let u=A.bodyTimeout!=null?A.bodyTimeout:i[qv];this.setTimeout(u,Ko)}else this.timeout&&this.timeout.refresh&&this.timeout.refresh();if(A.method==="CONNECT")return k(i[Ee]===1),this.upgrade=!0,2;if(s)return k(i[Ee]===1),this.upgrade=!0,2;if(k((this.headers.length&1)===0),this.headers=[],this.headersSize=0,this.shouldKeepAlive&&i[Zo]){let u=this.keepAlive?F.parseKeepAliveTimeout(this.keepAlive):null;if(u!=null){let l=Math.min(u-i[Hv],i[Pv]);l<=0?o[ke]=!0:i[$o]=l}else i[$o]=i[Yv]}else o[ke]=!0;let c=A.onHeaders(t,n,this.resume,a)===!1;return A.aborted?-1:A.method==="HEAD"||t<200?1:(o[hi]&&(o[hi]=!1,i[Xt]()),c?ft.ERROR.PAUSED:0)}onBody(t){let{client:s,socket:r,statusCode:i,maxResponseSize:o}=this;if(r.destroyed)return-1;let n=s[st][s[qe]];if(k(n),k(this.timeoutType===Ko),this.timeout&&this.timeout.refresh&&this.timeout.refresh(),k(i>=200),o>-1&&this.bytesRead+t.length>o)return F.destroy(r,new Lv),-1;if(this.bytesRead+=t.length,n.onData(t)===!1)return ft.ERROR.PAUSED}onMessageComplete(){let{client:t,socket:s,statusCode:r,upgrade:i,headers:o,contentLength:n,bytesRead:a,shouldKeepAlive:A}=this;if(s.destroyed&&(!r||A))return-1;if(i)return;k(r>=100),k((this.headers.length&1)===0);let c=t[st][t[qe]];if(k(c),this.statusCode=null,this.statusText="",this.bytesRead=0,this.contentLength="",this.keepAlive="",this.connection="",this.headers=[],this.headersSize=0,!(r<200)){if(c.method!=="HEAD"&&n&&a!==parseInt(n,10))return F.destroy(s,new Sv),-1;if(c.onComplete(o),t[st][t[qe]++]=null,s[$t])return k(t[Ee]===0),F.destroy(s,new gr("reset")),ft.ERROR.PAUSED;if(A){if(s[ke]&&t[Ee]===0)return F.destroy(s,new gr("reset")),ft.ERROR.PAUSED;t[Zo]==null||t[Zo]===1?setImmediate(()=>t[Xt]()):t[Xt]()}else return F.destroy(s,new gr("reset")),ft.ERROR.PAUSED}}};function Vh(e){let{socket:t,timeoutType:s,client:r,paused:i}=e.deref();s===dr?(!t[$t]||t.writableNeedDrain||r[Ee]>1)&&(k(!i,"cannot be paused while waiting for headers"),F.destroy(t,new Uv)):s===Ko?i||F.destroy(t,new Gv):s===dc&&(k(r[Ee]===0&&r[$o]),F.destroy(t,new gr("socket idle timeout")))}async function ek(e,t){e[hr]=t,uc||(uc=await hc,hc=null),t[pi]=!1,t[$t]=!1,t[ke]=!1,t[hi]=!1,t[X]=new Ec(e,t,uc),jo(t,"error",function(r){k(r.code!=="ERR_TLS_CERT_ALTNAME_INVALID");let i=this[X];if(r.code==="ECONNRESET"&&i.statusCode&&!i.shouldKeepAlive){i.onMessageComplete();return}this[We]=r,this[pc][zv](r)}),jo(t,"readable",function(){let r=this[X];r&&r.readMore()}),jo(t,"end",function(){let r=this[X];if(r.statusCode&&!r.shouldKeepAlive){r.onMessageComplete();return}F.destroy(this,new Xo("other side closed",F.getSocketInfo(this)))}),jo(t,"close",function(){let r=this[pc],i=this[X];i&&(!this[We]&&i.statusCode&&!i.shouldKeepAlive&&i.onMessageComplete(),this[X].destroy(),this[X]=null);let o=this[We]||new Xo("closed",F.getSocketInfo(this));if(r[hr]=null,r[Zh]=null,r.destroyed){k(r[_v]===0);let n=r[st].splice(r[qe]);for(let a=0;a0&&o.code!=="UND_ERR_INFO"){let n=r[st][r[qe]];r[st][r[qe]++]=null,F.errorRequest(r,n,o)}r[Jv]=r[qe],k(r[Ee]===0),r.emit("disconnect",r[zh],[r],o),r[Xt]()});let s=!1;return t.on("close",()=>{s=!0}),{version:"h1",defaultPipelining:1,write(...r){return rk(e,...r)},resume(){tk(e)},destroy(r,i){s?queueMicrotask(i):t.destroy(r).on("close",i)},get destroyed(){return t.destroyed},busy(r){return!!(t[$t]||t[ke]||t[hi]||r&&(e[Ee]>0&&!r.idempotent||e[Ee]>0&&(r.upgrade||r.method==="CONNECT")||e[Ee]>0&&F.bodyLength(r.body)!==0&&(F.isStream(r.body)||F.isAsyncIterable(r.body)||F.isFormDataLike(r.body))))}}}function tk(e){let t=e[hr];if(t&&!t.destroyed){if(e[Ph]===0?!t[pi]&&t.unref&&(t.unref(),t[pi]=!0):t[pi]&&t.ref&&(t.ref(),t[pi]=!1),e[Ph]===0)t[X].timeoutType!==dc&&t[X].setTimeout(e[$o],dc);else if(e[Ee]>0&&t[X].statusCode<200&&t[X].timeoutType!==dr){let s=e[st][e[qe]],r=s.headersTimeout!=null?s.headersTimeout:e[Vv];t[X].setTimeout(r,dr)}}}function sk(e){return e!=="GET"&&e!=="HEAD"&&e!=="OPTIONS"&&e!=="TRACE"&&e!=="CONNECT"}function rk(e,t){let{method:s,path:r,host:i,upgrade:o,blocking:n,reset:a}=t,{body:A,headers:c,contentLength:u}=t,l=s==="PUT"||s==="POST"||s==="PATCH"||s==="QUERY"||s==="PROPFIND"||s==="PROPPATCH";if(F.isFormDataLike(A)){lc||(lc=pr().extractBody);let[f,d]=lc(A);t.contentType==null&&c.push("content-type",d),A=f.stream,u=f.length}else F.isBlobLike(A)&&t.contentType==null&&A.type&&c.push("content-type",A.type);A&&typeof A.read=="function"&&A.read(0);let p=F.bodyLength(A);if(u=p??u,u===null&&(u=t.contentLength),u===0&&!l&&(u=null),sk(s)&&u>0&&t.contentLength!==null&&t.contentLength!==u){if(e[gc])return F.errorRequest(e,t,new bs),!1;process.emitWarning(new bs)}let g=e[hr],h=f=>{t.aborted||t.completed||(F.errorRequest(e,t,f||new jh),F.destroy(A),F.destroy(g,new gr("aborted")))};try{t.onConnect(h)}catch(f){F.errorRequest(e,t,f)}if(t.aborted)return!1;s==="HEAD"&&(g[ke]=!0),(o||s==="CONNECT")&&(g[ke]=!0),a!=null&&(g[ke]=a),e[Hh]&&g[Wv]++>=e[Hh]&&(g[ke]=!0),n&&(g[hi]=!0);let E=`${s} ${r} HTTP/1.1\r +`;if(typeof i=="string"?E+=`host: ${i}\r +`:E+=e[Ov],o?E+=`connection: upgrade\r +upgrade: ${o}\r +`:e[Zo]&&!g[ke]?E+=`connection: keep-alive\r +`:E+=`connection: close\r +`,Array.isArray(c))for(let f=0;f{t.removeListener("error",g)}),!A){let h=new jh;queueMicrotask(()=>g(h))}},g=function(h){if(!A){if(A=!0,k(i.destroyed||i[$t]&&s[Ee]<=1),i.off("drain",l).off("error",g),t.removeListener("data",u).removeListener("end",g).removeListener("close",p),!h)try{c.end()}catch(E){h=E}c.destroy(h),h&&(h.code!=="UND_ERR_INFO"||h.message!=="reset")?F.destroy(t,h):F.destroy(t)}};t.on("data",u).on("end",g).on("error",g).on("close",p),t.resume&&t.resume(),i.on("drain",l).on("error",g),t.errorEmitted??t.errored?setImmediate(()=>g(t.errored)):(t.endEmitted??t.readableEnded)&&setImmediate(()=>g(null)),(t.closeEmitted??t.closed)&&setImmediate(p)}function qh(e,t,s,r,i,o,n,a){try{t?F.isBuffer(t)&&(k(o===t.byteLength,"buffer body must have content length"),i.cork(),i.write(`${n}content-length: ${o}\r +\r +`,"latin1"),i.write(t),i.uncork(),r.onBodySent(t),!a&&r.reset!==!1&&(i[ke]=!0)):o===0?i.write(`${n}content-length: 0\r +\r +`,"latin1"):(k(o===null,"no body must not have content length"),i.write(`${n}\r +`,"latin1")),r.onRequestSent(),s[Xt]()}catch(A){e(A)}}async function ok(e,t,s,r,i,o,n,a){k(o===t.size,"blob body must have content length");try{if(o!=null&&o!==t.size)throw new bs;let A=Buffer.from(await t.arrayBuffer());i.cork(),i.write(`${n}content-length: ${o}\r +\r +`,"latin1"),i.write(A),i.uncork(),r.onBodySent(A),r.onRequestSent(),!a&&r.reset!==!1&&(i[ke]=!0),s[Xt]()}catch(A){e(A)}}async function Wh(e,t,s,r,i,o,n,a){k(o!==0||s[Ee]===0,"iterator body cannot be pipelined");let A=null;function c(){if(A){let p=A;A=null,p()}}let u=()=>new Promise((p,g)=>{k(A===null),i[We]?g(i[We]):A=p});i.on("close",c).on("drain",c);let l=new en({abort:e,socket:i,request:r,contentLength:o,client:s,expectsPayload:a,header:n});try{for await(let p of t){if(i[We])throw i[We];l.write(p)||await u()}l.end()}catch(p){l.destroy(p)}finally{i.off("close",c).off("drain",c)}}var en=class{constructor({abort:t,socket:s,request:r,contentLength:i,client:o,expectsPayload:n,header:a}){this.socket=s,this.request=r,this.contentLength=i,this.client=o,this.bytesWritten=0,this.expectsPayload=n,this.header=a,this.abort=t,s[$t]=!0}write(t){let{socket:s,request:r,contentLength:i,client:o,bytesWritten:n,expectsPayload:a,header:A}=this;if(s[We])throw s[We];if(s.destroyed)return!1;let c=Buffer.byteLength(t);if(!c)return!0;if(i!==null&&n+c>i){if(o[gc])throw new bs;process.emitWarning(new bs)}s.cork(),n===0&&(!a&&r.reset!==!1&&(s[ke]=!0),i===null?s.write(`${A}transfer-encoding: chunked\r +`,"latin1"):s.write(`${A}content-length: ${i}\r +\r +`,"latin1")),i===null&&s.write(`\r +${c.toString(16)}\r +`,"latin1"),this.bytesWritten+=c;let u=s.write(t);return s.uncork(),r.onBodySent(t),u||s[X].timeout&&s[X].timeoutType===dr&&s[X].timeout.refresh&&s[X].timeout.refresh(),u}end(){let{socket:t,contentLength:s,client:r,bytesWritten:i,expectsPayload:o,header:n,request:a}=this;if(a.onRequestSent(),t[$t]=!1,t[We])throw t[We];if(!t.destroyed){if(i===0?o?t.write(`${n}content-length: 0\r +\r +`,"latin1"):t.write(`${n}\r +`,"latin1"):s===null&&t.write(`\r +0\r +\r +`,"latin1"),s!==null&&i!==s){if(r[gc])throw new bs;process.emitWarning(new bs)}t[X].timeout&&t[X].timeoutType===dr&&t[X].timeout.refresh&&t[X].timeout.refresh(),r[Xt]()}}destroy(t){let{socket:s,client:r,abort:i}=this;s[$t]=!1,t&&(k(r[Ee]<=1,"pipeline should only contain this request"),i(t))}};Kh.exports=ek});var nd=Q((U2,od)=>{"use strict";var je=require("node:assert"),{pipeline:nk}=require("node:stream"),M=N(),{RequestContentLengthMismatchError:mc,RequestAbortedError:$h,SocketError:di,InformationalError:fc}=Y(),{kUrl:tn,kReset:rn,kClient:Er,kRunning:on,kPending:ak,kQueue:es,kPendingIdx:Qc,kRunningIdx:rt,kError:ot,kSocket:ae,kStrictContentLength:Ak,kOnError:Bc,kMaxConcurrentStreams:id,kHTTP2Session:it,kResume:ts,kSize:ck,kHTTPContext:lk}=j(),Gt=Symbol("open streams"),ed,td=!1,sn;try{sn=require("node:http2")}catch{sn={constants:{}}}var{constants:{HTTP2_HEADER_AUTHORITY:uk,HTTP2_HEADER_METHOD:pk,HTTP2_HEADER_PATH:gk,HTTP2_HEADER_SCHEME:hk,HTTP2_HEADER_CONTENT_LENGTH:dk,HTTP2_HEADER_EXPECT:Ek,HTTP2_HEADER_STATUS:mk}}=sn;function fk(e){let t=[];for(let[s,r]of Object.entries(e))if(Array.isArray(r))for(let i of r)t.push(Buffer.from(s),Buffer.from(i));else t.push(Buffer.from(s),Buffer.from(r));return t}async function Qk(e,t){e[ae]=t,td||(td=!0,process.emitWarning("H2 support is experimental, expect them to change at any time.",{code:"UNDICI-H2"}));let s=sn.connect(e[tn],{createConnection:()=>t,peerMaxConcurrentStreams:e[id]});s[Gt]=0,s[Er]=e,s[ae]=t,M.addListener(s,"error",Ck),M.addListener(s,"frameError",Ik),M.addListener(s,"end",wk),M.addListener(s,"goaway",bk),M.addListener(s,"close",function(){let{[Er]:i}=this,{[ae]:o}=i,n=this[ae][ot]||this[ot]||new di("closed",M.getSocketInfo(o));if(i[it]=null,i.destroyed){je(i[ak]===0);let a=i[es].splice(i[rt]);for(let A=0;A{r=!0}),{version:"h2",defaultPipelining:1/0,write(...i){return xk(e,...i)},resume(){Bk(e)},destroy(i,o){r?queueMicrotask(o):t.destroy(i).on("close",o)},get destroyed(){return t.destroyed},busy(){return!1}}}function Bk(e){let t=e[ae];t?.destroyed===!1&&(e[ck]===0&&e[id]===0?(t.unref(),e[it].unref()):(t.ref(),e[it].ref()))}function Ck(e){je(e.code!=="ERR_TLS_CERT_ALTNAME_INVALID"),this[ae][ot]=e,this[Er][Bc](e)}function Ik(e,t,s){if(s===0){let r=new fc(`HTTP/2: "frameError" received - type ${e}, code ${t}`);this[ae][ot]=r,this[Er][Bc](r)}}function wk(){let e=new di("other side closed",M.getSocketInfo(this[ae]));this.destroy(e),M.destroy(this[ae],e)}function bk(e){let t=this[ot]||new di(`HTTP/2: "GOAWAY" frame received with code ${e}`,M.getSocketInfo(this)),s=this[Er];if(s[ae]=null,s[lk]=null,this[it]!=null&&(this[it].destroy(t),this[it]=null),M.destroy(this[ae],t),s[rt]{t.aborted||t.completed||(B=B||new $h,M.errorRequest(e,t,B),p!=null&&M.destroy(p,B),M.destroy(u,B),e[es][e[rt]++]=null,e[ts]())};try{t.onConnect(E)}catch(B){M.errorRequest(e,t,B)}if(t.aborted)return!1;if(r==="CONNECT")return s.ref(),p=s.request(l,{endStream:!1,signal:A}),p.id&&!p.pending?(t.onUpgrade(null,null,p),++s[Gt],e[es][e[rt]++]=null):p.once("ready",()=>{t.onUpgrade(null,null,p),++s[Gt],e[es][e[rt]++]=null}),p.once("close",()=>{s[Gt]-=1,s[Gt]===0&&s.unref()}),!0;l[gk]=i,l[hk]="https";let f=r==="PUT"||r==="POST"||r==="PATCH";u&&typeof u.read=="function"&&u.read(0);let d=M.bodyLength(u);if(M.isFormDataLike(u)){ed??=pr().extractBody;let[B,b]=ed(u);l["content-type"]=b,u=B.stream,d=B.length}if(d==null&&(d=t.contentLength),(d===0||!f)&&(d=null),yk(r)&&d>0&&t.contentLength!=null&&t.contentLength!==d){if(e[Ak])return M.errorRequest(e,t,new mc),!1;process.emitWarning(new mc)}d!=null&&(je(u,"no body must not have content length"),l[dk]=`${d}`),s.ref();let m=r==="GET"||r==="HEAD"||u===null;return a?(l[Ek]="100-continue",p=s.request(l,{endStream:m,signal:A}),p.once("continue",C)):(p=s.request(l,{endStream:m,signal:A}),C()),++s[Gt],p.once("response",B=>{let{[mk]:b,...S}=B;if(t.onResponseStarted(),t.aborted){let G=new $h;M.errorRequest(e,t,G),M.destroy(p,G);return}t.onHeaders(Number(b),fk(S),p.resume.bind(p),"")===!1&&p.pause(),p.on("data",G=>{t.onData(G)===!1&&p.pause()})}),p.once("end",()=>{(p.state?.state==null||p.state.state<6)&&t.onComplete([]),s[Gt]===0&&s.unref(),E(new fc("HTTP/2: stream half-closed (remote)")),e[es][e[rt]++]=null,e[Qc]=e[rt],e[ts]()}),p.once("close",()=>{s[Gt]-=1,s[Gt]===0&&s.unref()}),p.once("error",function(B){E(B)}),p.once("frameError",(B,b)=>{E(new fc(`HTTP/2: "frameError" received - type ${B}, code ${b}`))}),!0;function C(){!u||d===0?sd(E,p,null,e,t,e[ae],d,f):M.isBuffer(u)?sd(E,p,u,e,t,e[ae],d,f):M.isBlobLike(u)?typeof u.stream=="function"?rd(E,p,u.stream(),e,t,e[ae],d,f):kk(E,p,u,e,t,e[ae],d,f):M.isStream(u)?vk(E,e[ae],f,p,u,e,t,d):M.isIterable(u)?rd(E,p,u,e,t,e[ae],d,f):je(!1)}}function sd(e,t,s,r,i,o,n,a){try{s!=null&&M.isBuffer(s)&&(je(n===s.byteLength,"buffer body must have content length"),t.cork(),t.write(s),t.uncork(),t.end(),i.onBodySent(s)),a||(o[rn]=!0),i.onRequestSent(),r[ts]()}catch(A){e(A)}}function vk(e,t,s,r,i,o,n,a){je(a!==0||o[on]===0,"stream body cannot be pipelined");let A=nk(i,r,u=>{u?(M.destroy(A,u),e(u)):(M.removeAllListeners(A),n.onRequestSent(),s||(t[rn]=!0),o[ts]())});M.addListener(A,"data",c);function c(u){n.onBodySent(u)}}async function kk(e,t,s,r,i,o,n,a){je(n===s.size,"blob body must have content length");try{if(n!=null&&n!==s.size)throw new mc;let A=Buffer.from(await s.arrayBuffer());t.cork(),t.write(A),t.uncork(),t.end(),i.onBodySent(A),i.onRequestSent(),a||(o[rn]=!0),r[ts]()}catch(A){e(A)}}async function rd(e,t,s,r,i,o,n,a){je(n!==0||r[on]===0,"iterator body cannot be pipelined");let A=null;function c(){if(A){let l=A;A=null,l()}}let u=()=>new Promise((l,p)=>{je(A===null),o[ot]?p(o[ot]):A=l});t.on("close",c).on("drain",c);try{for await(let l of s){if(o[ot])throw o[ot];let p=t.write(l);i.onBodySent(l),p||await u()}t.end(),i.onRequestSent(),a||(o[rn]=!0),r[ts]()}catch(l){e(l)}finally{t.off("close",c).off("drain",c)}}od.exports=Qk});var an=Q((N2,cd)=>{"use strict";var Ct=N(),{kBodyUsed:Ei}=j(),Ic=require("node:assert"),{InvalidArgumentError:Dk}=Y(),Rk=require("node:events"),Tk=[300,301,302,303,307,308],ad=Symbol("body"),nn=class{constructor(t){this[ad]=t,this[Ei]=!1}async*[Symbol.asyncIterator](){Ic(!this[Ei],"disturbed"),this[Ei]=!0,yield*this[ad]}},Cc=class{constructor(t,s,r,i){if(s!=null&&(!Number.isInteger(s)||s<0))throw new Dk("maxRedirections must be a positive number");Ct.validateHandler(i,r.method,r.upgrade),this.dispatch=t,this.location=null,this.abort=null,this.opts={...r,maxRedirections:0},this.maxRedirections=s,this.handler=i,this.history=[],this.redirectionLimitReached=!1,Ct.isStream(this.opts.body)?(Ct.bodyLength(this.opts.body)===0&&this.opts.body.on("data",function(){Ic(!1)}),typeof this.opts.body.readableDidRead!="boolean"&&(this.opts.body[Ei]=!1,Rk.prototype.on.call(this.opts.body,"data",function(){this[Ei]=!0}))):this.opts.body&&typeof this.opts.body.pipeTo=="function"?this.opts.body=new nn(this.opts.body):this.opts.body&&typeof this.opts.body!="string"&&!ArrayBuffer.isView(this.opts.body)&&Ct.isIterable(this.opts.body)&&(this.opts.body=new nn(this.opts.body))}onConnect(t){this.abort=t,this.handler.onConnect(t,{history:this.history})}onUpgrade(t,s,r){this.handler.onUpgrade(t,s,r)}onError(t){this.handler.onError(t)}onHeaders(t,s,r,i){if(this.location=this.history.length>=this.maxRedirections||Ct.isDisturbed(this.opts.body)?null:Fk(t,s),this.opts.throwOnMaxRedirect&&this.history.length>=this.maxRedirections){this.request&&this.request.abort(new Error("max redirects")),this.redirectionLimitReached=!0,this.abort(new Error("max redirects"));return}if(this.opts.origin&&this.history.push(new URL(this.opts.path,this.opts.origin)),!this.location)return this.handler.onHeaders(t,s,r,i);let{origin:o,pathname:n,search:a}=Ct.parseURL(new URL(this.location,this.opts.origin&&new URL(this.opts.path,this.opts.origin))),A=a?`${n}${a}`:n;this.opts.headers=Sk(this.opts.headers,t===303,this.opts.origin!==o),this.opts.path=A,this.opts.origin=o,this.opts.maxRedirections=0,this.opts.query=null,t===303&&this.opts.method!=="HEAD"&&(this.opts.method="GET",this.opts.body=null)}onData(t){if(!this.location)return this.handler.onData(t)}onComplete(t){this.location?(this.location=null,this.abort=null,this.dispatch(this.opts,this)):this.handler.onComplete(t)}onBodySent(t){this.handler.onBodySent&&this.handler.onBodySent(t)}};function Fk(e,t){if(Tk.indexOf(e)===-1)return null;for(let s=0;s{"use strict";var Uk=an();function Nk({maxRedirections:e}){return t=>function(r,i){let{maxRedirections:o=e}=r;if(!o)return t(r,i);let n=new Uk(t,o,r,i);return r={...r,maxRedirections:0},t(r,n)}}ld.exports=Nk});var Qr=Q((M2,Bd)=>{"use strict";var Mt=require("node:assert"),Ed=require("node:net"),Gk=require("node:http"),ys=N(),{channels:mr}=$s(),Mk=yg(),Lk=rr(),{InvalidArgumentError:$,InformationalError:_k,ClientDestroyedError:Yk}=Y(),Ok=ri(),{kUrl:It,kServerName:ss,kClient:Jk,kBusy:wc,kConnect:Pk,kResuming:xs,kRunning:Ci,kPending:Ii,kSize:Bi,kQueue:nt,kConnected:Hk,kConnecting:fr,kNeedDrain:is,kKeepAliveDefaultTimeout:ud,kHostHeader:Vk,kPendingIdx:at,kRunningIdx:Lt,kError:qk,kPipelining:cn,kKeepAliveTimeoutValue:Wk,kMaxHeadersSize:jk,kKeepAliveMaxTimeout:zk,kKeepAliveTimeoutThreshold:Zk,kHeadersTimeout:Kk,kBodyTimeout:Xk,kStrictContentLength:$k,kConnector:mi,kMaxRedirections:e0,kMaxRequests:bc,kCounter:t0,kClose:s0,kDestroy:r0,kDispatch:i0,kInterceptors:pd,kLocalAddress:fi,kMaxResponseSize:o0,kOnError:n0,kHTTPContext:ee,kMaxConcurrentStreams:a0,kResume:Qi}=j(),A0=Xh(),c0=nd(),gd=!1,rs=Symbol("kClosedResolve"),hd=()=>{};function md(e){return e[cn]??e[ee]?.defaultPipelining??1}var yc=class extends Lk{constructor(t,{interceptors:s,maxHeaderSize:r,headersTimeout:i,socketTimeout:o,requestTimeout:n,connectTimeout:a,bodyTimeout:A,idleTimeout:c,keepAlive:u,keepAliveTimeout:l,maxKeepAliveTimeout:p,keepAliveMaxTimeout:g,keepAliveTimeoutThreshold:h,socketPath:E,pipelining:f,tls:d,strictContentLength:m,maxCachedSessions:C,maxRedirections:B,connect:b,maxRequestsPerClient:S,localAddress:G,maxResponseSize:pe,autoSelectFamily:he,autoSelectFamilyAttemptTimeout:ht,maxConcurrentStreams:Wt,allowH2:xe}={}){if(super(),u!==void 0)throw new $("unsupported keepAlive, use pipelining=0 instead");if(o!==void 0)throw new $("unsupported socketTimeout, use headersTimeout & bodyTimeout instead");if(n!==void 0)throw new $("unsupported requestTimeout, use headersTimeout & bodyTimeout instead");if(c!==void 0)throw new $("unsupported idleTimeout, use keepAliveTimeout instead");if(p!==void 0)throw new $("unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead");if(r!=null&&!Number.isFinite(r))throw new $("invalid maxHeaderSize");if(E!=null&&typeof E!="string")throw new $("invalid socketPath");if(a!=null&&(!Number.isFinite(a)||a<0))throw new $("invalid connectTimeout");if(l!=null&&(!Number.isFinite(l)||l<=0))throw new $("invalid keepAliveTimeout");if(g!=null&&(!Number.isFinite(g)||g<=0))throw new $("invalid keepAliveMaxTimeout");if(h!=null&&!Number.isFinite(h))throw new $("invalid keepAliveTimeoutThreshold");if(i!=null&&(!Number.isInteger(i)||i<0))throw new $("headersTimeout must be a positive integer or zero");if(A!=null&&(!Number.isInteger(A)||A<0))throw new $("bodyTimeout must be a positive integer or zero");if(b!=null&&typeof b!="function"&&typeof b!="object")throw new $("connect must be a function or an object");if(B!=null&&(!Number.isInteger(B)||B<0))throw new $("maxRedirections must be a positive number");if(S!=null&&(!Number.isInteger(S)||S<0))throw new $("maxRequestsPerClient must be a positive number");if(G!=null&&(typeof G!="string"||Ed.isIP(G)===0))throw new $("localAddress must be valid string IP address");if(pe!=null&&(!Number.isInteger(pe)||pe<-1))throw new $("maxResponseSize must be a positive number");if(ht!=null&&(!Number.isInteger(ht)||ht<-1))throw new $("autoSelectFamilyAttemptTimeout must be a positive number");if(xe!=null&&typeof xe!="boolean")throw new $("allowH2 must be a valid boolean value");if(Wt!=null&&(typeof Wt!="number"||Wt<1))throw new $("maxConcurrentStreams must be a positive integer, greater than 0");typeof b!="function"&&(b=Ok({...d,maxCachedSessions:C,allowH2:xe,socketPath:E,timeout:a,...he?{autoSelectFamily:he,autoSelectFamilyAttemptTimeout:ht}:void 0,...b})),s?.Client&&Array.isArray(s.Client)?(this[pd]=s.Client,gd||(gd=!0,process.emitWarning("Client.Options#interceptor is deprecated. Use Dispatcher#compose instead.",{code:"UNDICI-CLIENT-INTERCEPTOR-DEPRECATED"}))):this[pd]=[l0({maxRedirections:B})],this[It]=ys.parseOrigin(t),this[mi]=b,this[cn]=f??1,this[jk]=r||Gk.maxHeaderSize,this[ud]=l??4e3,this[zk]=g??6e5,this[Zk]=h??2e3,this[Wk]=this[ud],this[ss]=null,this[fi]=G??null,this[xs]=0,this[is]=0,this[Vk]=`host: ${this[It].hostname}${this[It].port?`:${this[It].port}`:""}\r +`,this[Xk]=A??3e5,this[Kk]=i??3e5,this[$k]=m??!0,this[e0]=B,this[bc]=S,this[rs]=null,this[o0]=pe>-1?pe:-1,this[a0]=Wt??100,this[ee]=null,this[nt]=[],this[Lt]=0,this[at]=0,this[Qi]=jt=>xc(this,jt),this[n0]=jt=>fd(this,jt)}get pipelining(){return this[cn]}set pipelining(t){this[cn]=t,this[Qi](!0)}get[Ii](){return this[nt].length-this[at]}get[Ci](){return this[at]-this[Lt]}get[Bi](){return this[nt].length-this[Lt]}get[Hk](){return!!this[ee]&&!this[fr]&&!this[ee].destroyed}get[wc](){return!!(this[ee]?.busy(null)||this[Bi]>=(md(this)||1)||this[Ii]>0)}[Pk](t){Qd(this),this.once("connect",t)}[i0](t,s){let r=t.origin||this[It].origin,i=new Mk(r,t,s);return this[nt].push(i),this[xs]||(ys.bodyLength(i.body)==null&&ys.isIterable(i.body)?(this[xs]=1,queueMicrotask(()=>xc(this))):this[Qi](!0)),this[xs]&&this[is]!==2&&this[wc]&&(this[is]=2),this[is]<2}async[s0](){return new Promise(t=>{this[Bi]?this[rs]=t:t(null)})}async[r0](t){return new Promise(s=>{let r=this[nt].splice(this[at]);for(let o=0;o{this[rs]&&(this[rs](),this[rs]=null),s(null)};this[ee]?(this[ee].destroy(t,i),this[ee]=null):queueMicrotask(i),this[Qi]()})}},l0=An();function fd(e,t){if(e[Ci]===0&&t.code!=="UND_ERR_INFO"&&t.code!=="UND_ERR_SOCKET"){Mt(e[at]===e[Lt]);let s=e[nt].splice(e[Lt]);for(let r=0;r{e[mi]({host:t,hostname:s,protocol:r,port:i,servername:e[ss],localAddress:e[fi]},(A,c)=>{A?a(A):n(c)})});if(e.destroyed){ys.destroy(o.on("error",hd),new Yk);return}Mt(o);try{e[ee]=o.alpnProtocol==="h2"?await c0(e,o):await A0(e,o)}catch(n){throw o.destroy().on("error",hd),n}e[fr]=!1,o[t0]=0,o[bc]=e[bc],o[Jk]=e,o[qk]=null,mr.connected.hasSubscribers&&mr.connected.publish({connectParams:{host:t,hostname:s,protocol:r,port:i,version:e[ee]?.version,servername:e[ss],localAddress:e[fi]},connector:e[mi],socket:o}),e.emit("connect",e[It],[e])}catch(o){if(e.destroyed)return;if(e[fr]=!1,mr.connectError.hasSubscribers&&mr.connectError.publish({connectParams:{host:t,hostname:s,protocol:r,port:i,version:e[ee]?.version,servername:e[ss],localAddress:e[fi]},connector:e[mi],error:o}),o.code==="ERR_TLS_CERT_ALTNAME_INVALID")for(Mt(e[Ci]===0);e[Ii]>0&&e[nt][e[at]].servername===e[ss];){let n=e[nt][e[at]++];ys.errorRequest(e,n,o)}else fd(e,o);e.emit("connectionError",e[It],[e],o)}e[Qi]()}function dd(e){e[is]=0,e.emit("drain",e[It],[e])}function xc(e,t){e[xs]!==2&&(e[xs]=2,u0(e,t),e[xs]=0,e[Lt]>256&&(e[nt].splice(0,e[Lt]),e[at]-=e[Lt],e[Lt]=0))}function u0(e,t){for(;;){if(e.destroyed){Mt(e[Ii]===0);return}if(e[rs]&&!e[Bi]){e[rs](),e[rs]=null;return}if(e[ee]&&e[ee].resume(),e[wc])e[is]=2;else if(e[is]===2){t?(e[is]=1,queueMicrotask(()=>dd(e))):dd(e);continue}if(e[Ii]===0||e[Ci]>=(md(e)||1))return;let s=e[nt][e[at]];if(e[It].protocol==="https:"&&e[ss]!==s.servername){if(e[Ci]>0)return;e[ss]=s.servername,e[ee]?.destroy(new _k("servername changed"),()=>{e[ee]=null,xc(e)})}if(e[fr])return;if(!e[ee]){Qd(e);return}if(e[ee].destroyed||e[ee].busy(s))return;!s.aborted&&e[ee].write(s)?e[at]++:e[nt].splice(e[at],1)}}Bd.exports=yc});var vc=Q((_2,Cd)=>{"use strict";var ln=class{constructor(){this.bottom=0,this.top=0,this.list=new Array(2048),this.next=null}isEmpty(){return this.top===this.bottom}isFull(){return(this.top+1&2047)===this.bottom}push(t){this.list[this.top]=t,this.top=this.top+1&2047}shift(){let t=this.list[this.bottom];return t===void 0?null:(this.list[this.bottom]=void 0,this.bottom=this.bottom+1&2047,t)}};Cd.exports=class{constructor(){this.head=this.tail=new ln}isEmpty(){return this.head.isEmpty()}push(t){this.head.isFull()&&(this.head=this.head.next=new ln),this.head.push(t)}shift(){let t=this.tail,s=t.shift();return t.isEmpty()&&t.next!==null&&(this.tail=t.next),s}}});var wd=Q((Y2,Id)=>{var{kFree:p0,kConnected:g0,kPending:h0,kQueued:d0,kRunning:E0,kSize:m0}=j(),vs=Symbol("pool"),kc=class{constructor(t){this[vs]=t}get connected(){return this[vs][g0]}get free(){return this[vs][p0]}get pending(){return this[vs][h0]}get queued(){return this[vs][d0]}get running(){return this[vs][E0]}get size(){return this[vs][m0]}};Id.exports=kc});var Uc=Q((O2,Sd)=>{"use strict";var f0=rr(),Q0=vc(),{kConnected:Dc,kSize:bd,kRunning:yd,kPending:xd,kQueued:wi,kBusy:B0,kFree:C0,kUrl:I0,kClose:w0,kDestroy:b0,kDispatch:y0}=j(),x0=wd(),De=Symbol("clients"),Ce=Symbol("needDrain"),bi=Symbol("queue"),Rc=Symbol("closed resolve"),Tc=Symbol("onDrain"),vd=Symbol("onConnect"),kd=Symbol("onDisconnect"),Dd=Symbol("onConnectionError"),Fc=Symbol("get dispatcher"),Td=Symbol("add client"),Fd=Symbol("remove client"),Rd=Symbol("stats"),Sc=class extends f0{constructor(){super(),this[bi]=new Q0,this[De]=[],this[wi]=0;let t=this;this[Tc]=function(r,i){let o=t[bi],n=!1;for(;!n;){let a=o.shift();if(!a)break;t[wi]--,n=!this.dispatch(a.opts,a.handler)}this[Ce]=n,!this[Ce]&&t[Ce]&&(t[Ce]=!1,t.emit("drain",r,[t,...i])),t[Rc]&&o.isEmpty()&&Promise.all(t[De].map(a=>a.close())).then(t[Rc])},this[vd]=(s,r)=>{t.emit("connect",s,[t,...r])},this[kd]=(s,r,i)=>{t.emit("disconnect",s,[t,...r],i)},this[Dd]=(s,r,i)=>{t.emit("connectionError",s,[t,...r],i)},this[Rd]=new x0(this)}get[B0](){return this[Ce]}get[Dc](){return this[De].filter(t=>t[Dc]).length}get[C0](){return this[De].filter(t=>t[Dc]&&!t[Ce]).length}get[xd](){let t=this[wi];for(let{[xd]:s}of this[De])t+=s;return t}get[yd](){let t=0;for(let{[yd]:s}of this[De])t+=s;return t}get[bd](){let t=this[wi];for(let{[bd]:s}of this[De])t+=s;return t}get stats(){return this[Rd]}async[w0](){this[bi].isEmpty()?await Promise.all(this[De].map(t=>t.close())):await new Promise(t=>{this[Rc]=t})}async[b0](t){for(;;){let s=this[bi].shift();if(!s)break;s.handler.onError(t)}await Promise.all(this[De].map(s=>s.destroy(t)))}[y0](t,s){let r=this[Fc]();return r?r.dispatch(t,s)||(r[Ce]=!0,this[Ce]=!this[Fc]()):(this[Ce]=!0,this[bi].push({opts:t,handler:s}),this[wi]++),!this[Ce]}[Td](t){return t.on("drain",this[Tc]).on("connect",this[vd]).on("disconnect",this[kd]).on("connectionError",this[Dd]),this[De].push(t),this[Ce]&&queueMicrotask(()=>{this[Ce]&&this[Tc](t[I0],[this,t])}),this}[Fd](t){t.close(()=>{let s=this[De].indexOf(t);s!==-1&&this[De].splice(s,1)}),this[Ce]=this[De].some(s=>!s[Ce]&&s.closed!==!0&&s.destroyed!==!0)}};Sd.exports={PoolBase:Sc,kClients:De,kNeedDrain:Ce,kAddClient:Td,kRemoveClient:Fd,kGetDispatcher:Fc}});var Br=Q((J2,Md)=>{"use strict";var{PoolBase:v0,kClients:un,kNeedDrain:k0,kAddClient:D0,kGetDispatcher:R0}=Uc(),T0=Qr(),{InvalidArgumentError:Nc}=Y(),Ud=N(),{kUrl:Nd,kInterceptors:F0}=j(),S0=ri(),Gc=Symbol("options"),Mc=Symbol("connections"),Gd=Symbol("factory");function U0(e,t){return new T0(e,t)}var Lc=class extends v0{constructor(t,{connections:s,factory:r=U0,connect:i,connectTimeout:o,tls:n,maxCachedSessions:a,socketPath:A,autoSelectFamily:c,autoSelectFamilyAttemptTimeout:u,allowH2:l,...p}={}){if(super(),s!=null&&(!Number.isFinite(s)||s<0))throw new Nc("invalid connections");if(typeof r!="function")throw new Nc("factory must be a function.");if(i!=null&&typeof i!="function"&&typeof i!="object")throw new Nc("connect must be a function or an object");typeof i!="function"&&(i=S0({...n,maxCachedSessions:a,allowH2:l,socketPath:A,timeout:o,...c?{autoSelectFamily:c,autoSelectFamilyAttemptTimeout:u}:void 0,...i})),this[F0]=p.interceptors?.Pool&&Array.isArray(p.interceptors.Pool)?p.interceptors.Pool:[],this[Mc]=s||null,this[Nd]=Ud.parseOrigin(t),this[Gc]={...Ud.deepClone(p),connect:i,allowH2:l},this[Gc].interceptors=p.interceptors?{...p.interceptors}:void 0,this[Gd]=r,this.on("connectionError",(g,h,E)=>{for(let f of h){let d=this[un].indexOf(f);d!==-1&&this[un].splice(d,1)}})}[R0](){for(let t of this[un])if(!t[k0])return t;if(!this[Mc]||this[un].length{"use strict";var{BalancedPoolMissingUpstreamError:N0,InvalidArgumentError:G0}=Y(),{PoolBase:M0,kClients:me,kNeedDrain:yi,kAddClient:L0,kRemoveClient:_0,kGetDispatcher:Y0}=Uc(),O0=Br(),{kUrl:_c,kInterceptors:J0}=j(),{parseOrigin:Ld}=N(),_d=Symbol("factory"),pn=Symbol("options"),Yd=Symbol("kGreatestCommonDivisor"),ks=Symbol("kCurrentWeight"),Ds=Symbol("kIndex"),ze=Symbol("kWeight"),gn=Symbol("kMaxWeightPerServer"),hn=Symbol("kErrorPenalty");function P0(e,t){if(e===0)return t;for(;t!==0;){let s=t;t=e%t,e=s}return e}function H0(e,t){return new O0(e,t)}var Yc=class extends M0{constructor(t=[],{factory:s=H0,...r}={}){if(super(),this[pn]=r,this[Ds]=-1,this[ks]=0,this[gn]=this[pn].maxWeightPerServer||100,this[hn]=this[pn].errorPenalty||15,Array.isArray(t)||(t=[t]),typeof s!="function")throw new G0("factory must be a function.");this[J0]=r.interceptors?.BalancedPool&&Array.isArray(r.interceptors.BalancedPool)?r.interceptors.BalancedPool:[],this[_d]=s;for(let i of t)this.addUpstream(i);this._updateBalancedPoolStats()}addUpstream(t){let s=Ld(t).origin;if(this[me].find(i=>i[_c].origin===s&&i.closed!==!0&&i.destroyed!==!0))return this;let r=this[_d](s,Object.assign({},this[pn]));this[L0](r),r.on("connect",()=>{r[ze]=Math.min(this[gn],r[ze]+this[hn])}),r.on("connectionError",()=>{r[ze]=Math.max(1,r[ze]-this[hn]),this._updateBalancedPoolStats()}),r.on("disconnect",(...i)=>{let o=i[2];o&&o.code==="UND_ERR_SOCKET"&&(r[ze]=Math.max(1,r[ze]-this[hn]),this._updateBalancedPoolStats())});for(let i of this[me])i[ze]=this[gn];return this._updateBalancedPoolStats(),this}_updateBalancedPoolStats(){let t=0;for(let s=0;si[_c].origin===s&&i.closed!==!0&&i.destroyed!==!0);return r&&this[_0](r),this}get upstreams(){return this[me].filter(t=>t.closed!==!0&&t.destroyed!==!0).map(t=>t[_c].origin)}[Y0](){if(this[me].length===0)throw new N0;if(!this[me].find(o=>!o[yi]&&o.closed!==!0&&o.destroyed!==!0)||this[me].map(o=>o[yi]).reduce((o,n)=>o&&n,!0))return;let r=0,i=this[me].findIndex(o=>!o[yi]);for(;r++this[me][i][ze]&&!o[yi]&&(i=this[Ds]),this[Ds]===0&&(this[ks]=this[ks]-this[Yd],this[ks]<=0&&(this[ks]=this[gn])),o[ze]>=this[ks]&&!o[yi])return o}return this[ks]=this[me][i][ze],this[Ds]=i,this[me][i]}};Od.exports=Yc});var Cr=Q((H2,zd)=>{"use strict";var{InvalidArgumentError:dn}=Y(),{kClients:os,kRunning:Pd,kClose:V0,kDestroy:q0,kDispatch:W0,kInterceptors:j0}=j(),z0=rr(),Z0=Br(),K0=Qr(),X0=N(),$0=An(),Hd=Symbol("onConnect"),Vd=Symbol("onDisconnect"),qd=Symbol("onConnectionError"),eD=Symbol("maxRedirections"),Wd=Symbol("onDrain"),jd=Symbol("factory"),Oc=Symbol("options");function tD(e,t){return t&&t.connections===1?new K0(e,t):new Z0(e,t)}var Jc=class extends z0{constructor({factory:t=tD,maxRedirections:s=0,connect:r,...i}={}){if(super(),typeof t!="function")throw new dn("factory must be a function.");if(r!=null&&typeof r!="function"&&typeof r!="object")throw new dn("connect must be a function or an object");if(!Number.isInteger(s)||s<0)throw new dn("maxRedirections must be a positive number");r&&typeof r!="function"&&(r={...r}),this[j0]=i.interceptors?.Agent&&Array.isArray(i.interceptors.Agent)?i.interceptors.Agent:[$0({maxRedirections:s})],this[Oc]={...X0.deepClone(i),connect:r},this[Oc].interceptors=i.interceptors?{...i.interceptors}:void 0,this[eD]=s,this[jd]=t,this[os]=new Map,this[Wd]=(o,n)=>{this.emit("drain",o,[this,...n])},this[Hd]=(o,n)=>{this.emit("connect",o,[this,...n])},this[Vd]=(o,n,a)=>{this.emit("disconnect",o,[this,...n],a)},this[qd]=(o,n,a)=>{this.emit("connectionError",o,[this,...n],a)}}get[Pd](){let t=0;for(let s of this[os].values())t+=s[Pd];return t}[W0](t,s){let r;if(t.origin&&(typeof t.origin=="string"||t.origin instanceof URL))r=String(t.origin);else throw new dn("opts.origin must be a non-empty string or URL.");let i=this[os].get(r);return i||(i=this[jd](t.origin,this[Oc]).on("drain",this[Wd]).on("connect",this[Hd]).on("disconnect",this[Vd]).on("connectionError",this[qd]),this[os].set(r,i)),i.dispatch(t,s)}async[V0](){let t=[];for(let s of this[os].values())t.push(s.close());this[os].clear(),await Promise.all(t)}async[q0](t){let s=[];for(let r of this[os].values())s.push(r.destroy(t));this[os].clear(),await Promise.all(s)}};zd.exports=Jc});var Wc=Q((V2,nE)=>{"use strict";var{kProxy:Pc,kClose:tE,kDestroy:sE,kDispatch:Zd,kInterceptors:sD}=j(),{URL:Rs}=require("node:url"),rD=Cr(),rE=Br(),iE=rr(),{InvalidArgumentError:Ir,RequestAbortedError:iD,SecureProxyConnectionError:oD}=Y(),Kd=ri(),oE=Qr(),En=Symbol("proxy agent"),mn=Symbol("proxy client"),ns=Symbol("proxy headers"),Hc=Symbol("request tls settings"),Xd=Symbol("proxy tls settings"),$d=Symbol("connect endpoint function"),eE=Symbol("tunnel proxy");function nD(e){return e==="https:"?443:80}function aD(e,t){return new rE(e,t)}var AD=()=>{};function cD(e,t){return t.connections===1?new oE(e,t):new rE(e,t)}var Vc=class extends iE{#e;constructor(t,{headers:s={},connect:r,factory:i}){if(super(),!t)throw new Ir("Proxy URL is mandatory");this[ns]=s,i?this.#e=i(t,{connect:r}):this.#e=new oE(t,{connect:r})}[Zd](t,s){let r=s.onHeaders;s.onHeaders=function(a,A,c){if(a===407){typeof s.onError=="function"&&s.onError(new Ir("Proxy Authentication Required (407)"));return}r&&r.call(this,a,A,c)};let{origin:i,path:o="/",headers:n={}}=t;if(t.path=i+o,!("host"in n)&&!("Host"in n)){let{host:a}=new Rs(i);n.host=a}return t.headers={...this[ns],...n},this.#e[Zd](t,s)}async[tE](){return this.#e.close()}async[sE](t){return this.#e.destroy(t)}},qc=class extends iE{constructor(t){if(super(),!t||typeof t=="object"&&!(t instanceof Rs)&&!t.uri)throw new Ir("Proxy uri is mandatory");let{clientFactory:s=aD}=t;if(typeof s!="function")throw new Ir("Proxy opts.clientFactory must be a function.");let{proxyTunnel:r=!0}=t,i=this.#e(t),{href:o,origin:n,port:a,protocol:A,username:c,password:u,hostname:l}=i;if(this[Pc]={uri:o,protocol:A},this[sD]=t.interceptors?.ProxyAgent&&Array.isArray(t.interceptors.ProxyAgent)?t.interceptors.ProxyAgent:[],this[Hc]=t.requestTls,this[Xd]=t.proxyTls,this[ns]=t.headers||{},this[eE]=r,t.auth&&t.token)throw new Ir("opts.auth cannot be used in combination with opts.token");t.auth?this[ns]["proxy-authorization"]=`Basic ${t.auth}`:t.token?this[ns]["proxy-authorization"]=t.token:c&&u&&(this[ns]["proxy-authorization"]=`Basic ${Buffer.from(`${decodeURIComponent(c)}:${decodeURIComponent(u)}`).toString("base64")}`);let p=Kd({...t.proxyTls});this[$d]=Kd({...t.requestTls});let g=t.factory||cD,h=(E,f)=>{let{protocol:d}=new Rs(E);return!this[eE]&&d==="http:"&&this[Pc].protocol==="http:"?new Vc(this[Pc].uri,{headers:this[ns],connect:p,factory:g}):g(E,f)};this[mn]=s(i,{connect:p}),this[En]=new rD({...t,factory:h,connect:async(E,f)=>{let d=E.host;E.port||(d+=`:${nD(E.protocol)}`);try{let{socket:m,statusCode:C}=await this[mn].connect({origin:n,port:a,path:d,signal:E.signal,headers:{...this[ns],host:E.host},servername:this[Xd]?.servername||l});if(C!==200&&(m.on("error",AD).destroy(),f(new iD(`Proxy response (${C}) !== 200 when HTTP Tunneling`))),E.protocol!=="https:"){f(null,m);return}let B;this[Hc]?B=this[Hc].servername:B=E.servername,this[$d]({...E,servername:B,httpSocket:m},f)}catch(m){m.code==="ERR_TLS_CERT_ALTNAME_INVALID"?f(new oD(m)):f(m)}}})}dispatch(t,s){let r=lD(t.headers);if(uD(r),r&&!("host"in r)&&!("Host"in r)){let{host:i}=new Rs(t.origin);r.host=i}return this[En].dispatch({...t,headers:r},s)}#e(t){return typeof t=="string"?new Rs(t):t instanceof Rs?t:new Rs(t.uri)}async[tE](){await this[En].close(),await this[mn].close()}async[sE](){await this[En].destroy(),await this[mn].destroy()}};function lD(e){if(Array.isArray(e)){let t={};for(let s=0;ss.toLowerCase()==="proxy-authorization"))throw new Ir("Proxy-Authorization should be sent in ProxyAgent constructor")}nE.exports=qc});var pE=Q((q2,uE)=>{"use strict";var pD=rr(),{kClose:gD,kDestroy:hD,kClosed:aE,kDestroyed:AE,kDispatch:dD,kNoProxyAgent:xi,kHttpProxyAgent:as,kHttpsProxyAgent:Ts}=j(),cE=Wc(),ED=Cr(),mD={"http:":80,"https:":443},lE=!1,jc=class extends pD{#e=null;#t=null;#i=null;constructor(t={}){super(),this.#i=t,lE||(lE=!0,process.emitWarning("EnvHttpProxyAgent is experimental, expect them to change at any time.",{code:"UNDICI-EHPA"}));let{httpProxy:s,httpsProxy:r,noProxy:i,...o}=t;this[xi]=new ED(o);let n=s??process.env.http_proxy??process.env.HTTP_PROXY;n?this[as]=new cE({...o,uri:n}):this[as]=this[xi];let a=r??process.env.https_proxy??process.env.HTTPS_PROXY;a?this[Ts]=new cE({...o,uri:a}):this[Ts]=this[as],this.#A()}[dD](t,s){let r=new URL(t.origin);return this.#s(r).dispatch(t,s)}async[gD](){await this[xi].close(),this[as][aE]||await this[as].close(),this[Ts][aE]||await this[Ts].close()}async[hD](t){await this[xi].destroy(t),this[as][AE]||await this[as].destroy(t),this[Ts][AE]||await this[Ts].destroy(t)}#s(t){let{protocol:s,host:r,port:i}=t;return r=r.replace(/:\d*$/,"").toLowerCase(),i=Number.parseInt(i,10)||mD[s]||0,this.#r(r,i)?s==="https:"?this[Ts]:this[as]:this[xi]}#r(t,s){if(this.#a&&this.#A(),this.#t.length===0)return!0;if(this.#e==="*")return!1;for(let r=0;r{"use strict";var wr=require("node:assert"),{kRetryHandlerDefaultRetry:gE}=j(),{RequestRetryError:vi}=Y(),{isDisturbed:hE,parseHeaders:fD,parseRangeHeader:dE,wrapRequestBody:QD}=N();function BD(e){let t=Date.now();return new Date(e).getTime()-t}var zc=class e{constructor(t,s){let{retryOptions:r,...i}=t,{retry:o,maxRetries:n,maxTimeout:a,minTimeout:A,timeoutFactor:c,methods:u,errorCodes:l,retryAfter:p,statusCodes:g}=r??{};this.dispatch=s.dispatch,this.handler=s.handler,this.opts={...i,body:QD(t.body)},this.abort=null,this.aborted=!1,this.retryOpts={retry:o??e[gE],retryAfter:p??!0,maxTimeout:a??30*1e3,minTimeout:A??500,timeoutFactor:c??2,maxRetries:n??5,methods:u??["GET","HEAD","OPTIONS","PUT","DELETE","TRACE"],statusCodes:g??[500,502,503,504,429],errorCodes:l??["ECONNRESET","ECONNREFUSED","ENOTFOUND","ENETDOWN","ENETUNREACH","EHOSTDOWN","EHOSTUNREACH","EPIPE","UND_ERR_SOCKET"]},this.retryCount=0,this.retryCountCheckpoint=0,this.start=0,this.end=null,this.etag=null,this.resume=null,this.handler.onConnect(h=>{this.aborted=!0,this.abort?this.abort(h):this.reason=h})}onRequestSent(){this.handler.onRequestSent&&this.handler.onRequestSent()}onUpgrade(t,s,r){this.handler.onUpgrade&&this.handler.onUpgrade(t,s,r)}onConnect(t){this.aborted?t(this.reason):this.abort=t}onBodySent(t){if(this.handler.onBodySent)return this.handler.onBodySent(t)}static[gE](t,{state:s,opts:r},i){let{statusCode:o,code:n,headers:a}=t,{method:A,retryOptions:c}=r,{maxRetries:u,minTimeout:l,maxTimeout:p,timeoutFactor:g,statusCodes:h,errorCodes:E,methods:f}=c,{counter:d}=s;if(n&&n!=="UND_ERR_REQ_RETRY"&&!E.includes(n)){i(t);return}if(Array.isArray(f)&&!f.includes(A)){i(t);return}if(o!=null&&Array.isArray(h)&&!h.includes(o)){i(t);return}if(d>u){i(t);return}let m=a?.["retry-after"];m&&(m=Number(m),m=Number.isNaN(m)?BD(m):m*1e3);let C=m>0?Math.min(m,p):Math.min(l*g**(d-1),p);setTimeout(()=>i(null),C)}onHeaders(t,s,r,i){let o=fD(s);if(this.retryCount+=1,t>=300)return this.retryOpts.statusCodes.includes(t)===!1?this.handler.onHeaders(t,s,r,i):(this.abort(new vi("Request failed",t,{headers:o,data:{count:this.retryCount}})),!1);if(this.resume!=null){if(this.resume=null,t!==206&&(this.start>0||t!==200))return this.abort(new vi("server does not support the range header and the payload was partially consumed",t,{headers:o,data:{count:this.retryCount}})),!1;let a=dE(o["content-range"]);if(!a)return this.abort(new vi("Content-Range mismatch",t,{headers:o,data:{count:this.retryCount}})),!1;if(this.etag!=null&&this.etag!==o.etag)return this.abort(new vi("ETag mismatch",t,{headers:o,data:{count:this.retryCount}})),!1;let{start:A,size:c,end:u=c-1}=a;return wr(this.start===A,"content-range mismatch"),wr(this.end==null||this.end===u,"content-range mismatch"),this.resume=r,!0}if(this.end==null){if(t===206){let a=dE(o["content-range"]);if(a==null)return this.handler.onHeaders(t,s,r,i);let{start:A,size:c,end:u=c-1}=a;wr(A!=null&&Number.isFinite(A),"content-range mismatch"),wr(u!=null&&Number.isFinite(u),"invalid content-length"),this.start=A,this.end=u}if(this.end==null){let a=o["content-length"];this.end=a!=null?Number(a)-1:null}return wr(Number.isFinite(this.start)),wr(this.end==null||Number.isFinite(this.end),"invalid content-length"),this.resume=r,this.etag=o.etag!=null?o.etag:null,this.etag!=null&&this.etag.startsWith("W/")&&(this.etag=null),this.handler.onHeaders(t,s,r,i)}let n=new vi("Request failed",t,{headers:o,data:{count:this.retryCount}});return this.abort(n),!1}onData(t){return this.start+=t.length,this.handler.onData(t)}onComplete(t){return this.retryCount=0,this.handler.onComplete(t)}onError(t){if(this.aborted||hE(this.opts.body))return this.handler.onError(t);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}},s.bind(this));function s(r){if(r!=null||this.aborted||hE(this.opts.body))return this.handler.onError(r);if(this.start!==0){let i={range:`bytes=${this.start}-${this.end??""}`};this.etag!=null&&(i["if-match"]=this.etag),this.opts={...this.opts,headers:{...this.opts.headers,...i}}}try{this.retryCountCheckpoint=this.retryCount,this.dispatch(this.opts,this)}catch(i){this.handler.onError(i)}}}};EE.exports=zc});var fE=Q((j2,mE)=>{"use strict";var CD=ti(),ID=fn(),Zc=class extends CD{#e=null;#t=null;constructor(t,s={}){super(s),this.#e=t,this.#t=s}dispatch(t,s){let r=new ID({...t,retryOptions:this.#t},{dispatch:this.#e.dispatch.bind(this.#e),handler:s});return this.#e.dispatch(t,r)}close(){return this.#e.close()}destroy(){return this.#e.destroy()}};mE.exports=Zc});var sl=Q((z2,vE)=>{"use strict";var wE=require("node:assert"),{Readable:wD}=require("node:stream"),{RequestAbortedError:bE,NotSupportedError:bD,InvalidArgumentError:yD,AbortError:Kc}=Y(),yE=N(),{ReadableStreamFrom:xD}=N(),Ne=Symbol("kConsume"),ki=Symbol("kReading"),As=Symbol("kBody"),QE=Symbol("kAbort"),xE=Symbol("kContentType"),BE=Symbol("kContentLength"),vD=()=>{},Xc=class extends wD{constructor({resume:t,abort:s,contentType:r="",contentLength:i,highWaterMark:o=64*1024}){super({autoDestroy:!0,read:t,highWaterMark:o}),this._readableState.dataEmitted=!1,this[QE]=s,this[Ne]=null,this[As]=null,this[xE]=r,this[BE]=i,this[ki]=!1}destroy(t){return!t&&!this._readableState.endEmitted&&(t=new bE),t&&this[QE](),super.destroy(t)}_destroy(t,s){this[ki]?s(t):setImmediate(()=>{s(t)})}on(t,...s){return(t==="data"||t==="readable")&&(this[ki]=!0),super.on(t,...s)}addListener(t,...s){return this.on(t,...s)}off(t,...s){let r=super.off(t,...s);return(t==="data"||t==="readable")&&(this[ki]=this.listenerCount("data")>0||this.listenerCount("readable")>0),r}removeListener(t,...s){return this.off(t,...s)}push(t){return this[Ne]&&t!==null?(el(this[Ne],t),this[ki]?super.push(t):!0):super.push(t)}async text(){return Di(this,"text")}async json(){return Di(this,"json")}async blob(){return Di(this,"blob")}async bytes(){return Di(this,"bytes")}async arrayBuffer(){return Di(this,"arrayBuffer")}async formData(){throw new bD}get bodyUsed(){return yE.isDisturbed(this)}get body(){return this[As]||(this[As]=xD(this),this[Ne]&&(this[As].getReader(),wE(this[As].locked))),this[As]}async dump(t){let s=Number.isFinite(t?.limit)?t.limit:131072,r=t?.signal;if(r!=null&&(typeof r!="object"||!("aborted"in r)))throw new yD("signal must be an AbortSignal");return r?.throwIfAborted(),this._readableState.closeEmitted?null:await new Promise((i,o)=>{this[BE]>s&&this.destroy(new Kc);let n=()=>{this.destroy(r.reason??new Kc)};r?.addEventListener("abort",n),this.on("close",function(){r?.removeEventListener("abort",n),r?.aborted?o(r.reason??new Kc):i(null)}).on("error",vD).on("data",function(a){s-=a.length,s<=0&&this.destroy()}).resume()})}};function kD(e){return e[As]&&e[As].locked===!0||e[Ne]}function DD(e){return yE.isDisturbed(e)||kD(e)}async function Di(e,t){return wE(!e[Ne]),new Promise((s,r)=>{if(DD(e)){let i=e._readableState;i.destroyed&&i.closeEmitted===!1?e.on("error",o=>{r(o)}).on("close",()=>{r(new TypeError("unusable"))}):r(i.errored??new TypeError("unusable"))}else queueMicrotask(()=>{e[Ne]={type:t,stream:e,resolve:s,reject:r,length:0,body:[]},e.on("error",function(i){tl(this[Ne],i)}).on("close",function(){this[Ne].body!==null&&tl(this[Ne],new bE)}),RD(e[Ne])})})}function RD(e){if(e.body===null)return;let{_readableState:t}=e.stream;if(t.bufferIndex){let s=t.bufferIndex,r=t.buffer.length;for(let i=s;i2&&s[0]===239&&s[1]===187&&s[2]===191?3:0;return s.utf8Slice(i,r)}function CE(e,t){if(e.length===0||t===0)return new Uint8Array(0);if(e.length===1)return new Uint8Array(e[0]);let s=new Uint8Array(Buffer.allocUnsafeSlow(t).buffer),r=0;for(let i=0;i{var TD=require("node:assert"),{ResponseStatusCodeError:kE}=Y(),{chunksDecode:DE}=sl(),FD=128*1024;async function SD({callback:e,body:t,contentType:s,statusCode:r,statusMessage:i,headers:o}){TD(t);let n=[],a=0;try{for await(let l of t)if(n.push(l),a+=l.length,a>FD){n=[],a=0;break}}catch{n=[],a=0}let A=`Response status code ${r}${i?`: ${i}`:""}`;if(r===204||!s||!a){queueMicrotask(()=>e(new kE(A,r,o)));return}let c=Error.stackTraceLimit;Error.stackTraceLimit=0;let u;try{RE(s)?u=JSON.parse(DE(n,a)):TE(s)&&(u=DE(n,a))}catch{}finally{Error.stackTraceLimit=c}queueMicrotask(()=>e(new kE(A,r,o,u)))}var RE=e=>e.length>15&&e[11]==="/"&&e[0]==="a"&&e[1]==="p"&&e[2]==="p"&&e[3]==="l"&&e[4]==="i"&&e[5]==="c"&&e[6]==="a"&&e[7]==="t"&&e[8]==="i"&&e[9]==="o"&&e[10]==="n"&&e[12]==="j"&&e[13]==="s"&&e[14]==="o"&&e[15]==="n",TE=e=>e.length>4&&e[4]==="/"&&e[0]==="t"&&e[1]==="e"&&e[2]==="x"&&e[3]==="t";FE.exports={getResolveErrorBodyCallback:SD,isContentTypeApplicationJson:RE,isContentTypeText:TE}});var NE=Q((K2,il)=>{"use strict";var UD=require("node:assert"),{Readable:ND}=sl(),{InvalidArgumentError:br,RequestAbortedError:SE}=Y(),Ge=N(),{getResolveErrorBodyCallback:GD}=rl(),{AsyncResource:MD}=require("node:async_hooks"),Qn=class extends MD{constructor(t,s){if(!t||typeof t!="object")throw new br("invalid opts");let{signal:r,method:i,opaque:o,body:n,onInfo:a,responseHeaders:A,throwOnError:c,highWaterMark:u}=t;try{if(typeof s!="function")throw new br("invalid callback");if(u&&(typeof u!="number"||u<0))throw new br("invalid highWaterMark");if(r&&typeof r.on!="function"&&typeof r.addEventListener!="function")throw new br("signal must be an EventEmitter or EventTarget");if(i==="CONNECT")throw new br("invalid method");if(a&&typeof a!="function")throw new br("invalid onInfo callback");super("UNDICI_REQUEST")}catch(l){throw Ge.isStream(n)&&Ge.destroy(n.on("error",Ge.nop),l),l}this.method=i,this.responseHeaders=A||null,this.opaque=o||null,this.callback=s,this.res=null,this.abort=null,this.body=n,this.trailers={},this.context=null,this.onInfo=a||null,this.throwOnError=c,this.highWaterMark=u,this.signal=r,this.reason=null,this.removeAbortListener=null,Ge.isStream(n)&&n.on("error",l=>{this.onError(l)}),this.signal&&(this.signal.aborted?this.reason=this.signal.reason??new SE:this.removeAbortListener=Ge.addAbortListener(this.signal,()=>{this.reason=this.signal.reason??new SE,this.res?Ge.destroy(this.res.on("error",Ge.nop),this.reason):this.abort&&this.abort(this.reason),this.removeAbortListener&&(this.res?.off("close",this.removeAbortListener),this.removeAbortListener(),this.removeAbortListener=null)}))}onConnect(t,s){if(this.reason){t(this.reason);return}UD(this.callback),this.abort=t,this.context=s}onHeaders(t,s,r,i){let{callback:o,opaque:n,abort:a,context:A,responseHeaders:c,highWaterMark:u}=this,l=c==="raw"?Ge.parseRawHeaders(s):Ge.parseHeaders(s);if(t<200){this.onInfo&&this.onInfo({statusCode:t,headers:l});return}let p=c==="raw"?Ge.parseHeaders(s):l,g=p["content-type"],h=p["content-length"],E=new ND({resume:r,abort:a,contentType:g,contentLength:this.method!=="HEAD"&&h?Number(h):null,highWaterMark:u});this.removeAbortListener&&E.on("close",this.removeAbortListener),this.callback=null,this.res=E,o!==null&&(this.throwOnError&&t>=400?this.runInAsyncScope(GD,null,{callback:o,body:E,contentType:g,statusCode:t,statusMessage:i,headers:l}):this.runInAsyncScope(o,null,null,{statusCode:t,headers:l,trailers:this.trailers,opaque:n,body:E,context:A}))}onData(t){return this.res.push(t)}onComplete(t){Ge.parseHeaders(t,this.trailers),this.res.push(null)}onError(t){let{res:s,callback:r,body:i,opaque:o}=this;r&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(r,null,t,{opaque:o})})),s&&(this.res=null,queueMicrotask(()=>{Ge.destroy(s,t)})),i&&(this.body=null,Ge.destroy(i,t)),this.removeAbortListener&&(s?.off("close",this.removeAbortListener),this.removeAbortListener(),this.removeAbortListener=null)}};function UE(e,t){if(t===void 0)return new Promise((s,r)=>{UE.call(this,e,(i,o)=>i?r(i):s(o))});try{this.dispatch(e,new Qn(e,t))}catch(s){if(typeof t!="function")throw s;let r=e?.opaque;queueMicrotask(()=>t(s,{opaque:r}))}}il.exports=UE;il.exports.RequestHandler=Qn});var Ri=Q((X2,LE)=>{var{addAbortListener:LD}=N(),{RequestAbortedError:_D}=Y(),yr=Symbol("kListener"),wt=Symbol("kSignal");function GE(e){e.abort?e.abort(e[wt]?.reason):e.reason=e[wt]?.reason??new _D,ME(e)}function YD(e,t){if(e.reason=null,e[wt]=null,e[yr]=null,!!t){if(t.aborted){GE(e);return}e[wt]=t,e[yr]=()=>{GE(e)},LD(e[wt],e[yr])}}function ME(e){e[wt]&&("removeEventListener"in e[wt]?e[wt].removeEventListener("abort",e[yr]):e[wt].removeListener("abort",e[yr]),e[wt]=null,e[yr]=null)}LE.exports={addSignal:YD,removeSignal:ME}});var JE=Q(($2,OE)=>{"use strict";var OD=require("node:assert"),{finished:JD,PassThrough:PD}=require("node:stream"),{InvalidArgumentError:xr,InvalidReturnValueError:HD}=Y(),At=N(),{getResolveErrorBodyCallback:VD}=rl(),{AsyncResource:qD}=require("node:async_hooks"),{addSignal:WD,removeSignal:_E}=Ri(),ol=class extends qD{constructor(t,s,r){if(!t||typeof t!="object")throw new xr("invalid opts");let{signal:i,method:o,opaque:n,body:a,onInfo:A,responseHeaders:c,throwOnError:u}=t;try{if(typeof r!="function")throw new xr("invalid callback");if(typeof s!="function")throw new xr("invalid factory");if(i&&typeof i.on!="function"&&typeof i.addEventListener!="function")throw new xr("signal must be an EventEmitter or EventTarget");if(o==="CONNECT")throw new xr("invalid method");if(A&&typeof A!="function")throw new xr("invalid onInfo callback");super("UNDICI_STREAM")}catch(l){throw At.isStream(a)&&At.destroy(a.on("error",At.nop),l),l}this.responseHeaders=c||null,this.opaque=n||null,this.factory=s,this.callback=r,this.res=null,this.abort=null,this.context=null,this.trailers=null,this.body=a,this.onInfo=A||null,this.throwOnError=u||!1,At.isStream(a)&&a.on("error",l=>{this.onError(l)}),WD(this,i)}onConnect(t,s){if(this.reason){t(this.reason);return}OD(this.callback),this.abort=t,this.context=s}onHeaders(t,s,r,i){let{factory:o,opaque:n,context:a,callback:A,responseHeaders:c}=this,u=c==="raw"?At.parseRawHeaders(s):At.parseHeaders(s);if(t<200){this.onInfo&&this.onInfo({statusCode:t,headers:u});return}this.factory=null;let l;if(this.throwOnError&&t>=400){let h=(c==="raw"?At.parseHeaders(s):u)["content-type"];l=new PD,this.callback=null,this.runInAsyncScope(VD,null,{callback:A,body:l,contentType:h,statusCode:t,statusMessage:i,headers:u})}else{if(o===null)return;if(l=this.runInAsyncScope(o,null,{statusCode:t,headers:u,opaque:n,context:a}),!l||typeof l.write!="function"||typeof l.end!="function"||typeof l.on!="function")throw new HD("expected Writable");JD(l,{readable:!1},g=>{let{callback:h,res:E,opaque:f,trailers:d,abort:m}=this;this.res=null,(g||!E.readable)&&At.destroy(E,g),this.callback=null,this.runInAsyncScope(h,null,g||null,{opaque:f,trailers:d}),g&&m()})}return l.on("drain",r),this.res=l,(l.writableNeedDrain!==void 0?l.writableNeedDrain:l._writableState?.needDrain)!==!0}onData(t){let{res:s}=this;return s?s.write(t):!0}onComplete(t){let{res:s}=this;_E(this),s&&(this.trailers=At.parseHeaders(t),s.end())}onError(t){let{res:s,callback:r,opaque:i,body:o}=this;_E(this),this.factory=null,s?(this.res=null,At.destroy(s,t)):r&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(r,null,t,{opaque:i})})),o&&(this.body=null,At.destroy(o,t))}};function YE(e,t,s){if(s===void 0)return new Promise((r,i)=>{YE.call(this,e,t,(o,n)=>o?i(o):r(n))});try{this.dispatch(e,new ol(e,t,s))}catch(r){if(typeof s!="function")throw r;let i=e?.opaque;queueMicrotask(()=>s(r,{opaque:i}))}}OE.exports=YE});var qE=Q((eY,VE)=>{"use strict";var{Readable:HE,Duplex:jD,PassThrough:zD}=require("node:stream"),{InvalidArgumentError:Ti,InvalidReturnValueError:ZD,RequestAbortedError:nl}=Y(),Ze=N(),{AsyncResource:KD}=require("node:async_hooks"),{addSignal:XD,removeSignal:$D}=Ri(),PE=require("node:assert"),vr=Symbol("resume"),al=class extends HE{constructor(){super({autoDestroy:!0}),this[vr]=null}_read(){let{[vr]:t}=this;t&&(this[vr]=null,t())}_destroy(t,s){this._read(),s(t)}},Al=class extends HE{constructor(t){super({autoDestroy:!0}),this[vr]=t}_read(){this[vr]()}_destroy(t,s){!t&&!this._readableState.endEmitted&&(t=new nl),s(t)}},cl=class extends KD{constructor(t,s){if(!t||typeof t!="object")throw new Ti("invalid opts");if(typeof s!="function")throw new Ti("invalid handler");let{signal:r,method:i,opaque:o,onInfo:n,responseHeaders:a}=t;if(r&&typeof r.on!="function"&&typeof r.addEventListener!="function")throw new Ti("signal must be an EventEmitter or EventTarget");if(i==="CONNECT")throw new Ti("invalid method");if(n&&typeof n!="function")throw new Ti("invalid onInfo callback");super("UNDICI_PIPELINE"),this.opaque=o||null,this.responseHeaders=a||null,this.handler=s,this.abort=null,this.context=null,this.onInfo=n||null,this.req=new al().on("error",Ze.nop),this.ret=new jD({readableObjectMode:t.objectMode,autoDestroy:!0,read:()=>{let{body:A}=this;A?.resume&&A.resume()},write:(A,c,u)=>{let{req:l}=this;l.push(A,c)||l._readableState.destroyed?u():l[vr]=u},destroy:(A,c)=>{let{body:u,req:l,res:p,ret:g,abort:h}=this;!A&&!g._readableState.endEmitted&&(A=new nl),h&&A&&h(),Ze.destroy(u,A),Ze.destroy(l,A),Ze.destroy(p,A),$D(this),c(A)}}).on("prefinish",()=>{let{req:A}=this;A.push(null)}),this.res=null,XD(this,r)}onConnect(t,s){let{ret:r,res:i}=this;if(this.reason){t(this.reason);return}PE(!i,"pipeline cannot be retried"),PE(!r.destroyed),this.abort=t,this.context=s}onHeaders(t,s,r){let{opaque:i,handler:o,context:n}=this;if(t<200){if(this.onInfo){let A=this.responseHeaders==="raw"?Ze.parseRawHeaders(s):Ze.parseHeaders(s);this.onInfo({statusCode:t,headers:A})}return}this.res=new Al(r);let a;try{this.handler=null;let A=this.responseHeaders==="raw"?Ze.parseRawHeaders(s):Ze.parseHeaders(s);a=this.runInAsyncScope(o,null,{statusCode:t,headers:A,opaque:i,body:this.res,context:n})}catch(A){throw this.res.on("error",Ze.nop),A}if(!a||typeof a.on!="function")throw new ZD("expected Readable");a.on("data",A=>{let{ret:c,body:u}=this;!c.push(A)&&u.pause&&u.pause()}).on("error",A=>{let{ret:c}=this;Ze.destroy(c,A)}).on("end",()=>{let{ret:A}=this;A.push(null)}).on("close",()=>{let{ret:A}=this;A._readableState.ended||Ze.destroy(A,new nl)}),this.body=a}onData(t){let{res:s}=this;return s.push(t)}onComplete(t){let{res:s}=this;s.push(null)}onError(t){let{ret:s}=this;this.handler=null,Ze.destroy(s,t)}};function eR(e,t){try{let s=new cl(e,t);return this.dispatch({...e,body:s.req},s),s.ret}catch(s){return new zD().destroy(s)}}VE.exports=eR});var XE=Q((tY,KE)=>{"use strict";var{InvalidArgumentError:ll,SocketError:tR}=Y(),{AsyncResource:sR}=require("node:async_hooks"),WE=N(),{addSignal:rR,removeSignal:jE}=Ri(),zE=require("node:assert"),ul=class extends sR{constructor(t,s){if(!t||typeof t!="object")throw new ll("invalid opts");if(typeof s!="function")throw new ll("invalid callback");let{signal:r,opaque:i,responseHeaders:o}=t;if(r&&typeof r.on!="function"&&typeof r.addEventListener!="function")throw new ll("signal must be an EventEmitter or EventTarget");super("UNDICI_UPGRADE"),this.responseHeaders=o||null,this.opaque=i||null,this.callback=s,this.abort=null,this.context=null,rR(this,r)}onConnect(t,s){if(this.reason){t(this.reason);return}zE(this.callback),this.abort=t,this.context=null}onHeaders(){throw new tR("bad upgrade",null)}onUpgrade(t,s,r){zE(t===101);let{callback:i,opaque:o,context:n}=this;jE(this),this.callback=null;let a=this.responseHeaders==="raw"?WE.parseRawHeaders(s):WE.parseHeaders(s);this.runInAsyncScope(i,null,null,{headers:a,socket:r,opaque:o,context:n})}onError(t){let{callback:s,opaque:r}=this;jE(this),s&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(s,null,t,{opaque:r})}))}};function ZE(e,t){if(t===void 0)return new Promise((s,r)=>{ZE.call(this,e,(i,o)=>i?r(i):s(o))});try{let s=new ul(e,t);this.dispatch({...e,method:e.method||"GET",upgrade:e.protocol||"Websocket"},s)}catch(s){if(typeof t!="function")throw s;let r=e?.opaque;queueMicrotask(()=>t(s,{opaque:r}))}}KE.exports=ZE});var rm=Q((sY,sm)=>{"use strict";var iR=require("node:assert"),{AsyncResource:oR}=require("node:async_hooks"),{InvalidArgumentError:pl,SocketError:nR}=Y(),$E=N(),{addSignal:aR,removeSignal:em}=Ri(),gl=class extends oR{constructor(t,s){if(!t||typeof t!="object")throw new pl("invalid opts");if(typeof s!="function")throw new pl("invalid callback");let{signal:r,opaque:i,responseHeaders:o}=t;if(r&&typeof r.on!="function"&&typeof r.addEventListener!="function")throw new pl("signal must be an EventEmitter or EventTarget");super("UNDICI_CONNECT"),this.opaque=i||null,this.responseHeaders=o||null,this.callback=s,this.abort=null,aR(this,r)}onConnect(t,s){if(this.reason){t(this.reason);return}iR(this.callback),this.abort=t,this.context=s}onHeaders(){throw new nR("bad connect",null)}onUpgrade(t,s,r){let{callback:i,opaque:o,context:n}=this;em(this),this.callback=null;let a=s;a!=null&&(a=this.responseHeaders==="raw"?$E.parseRawHeaders(s):$E.parseHeaders(s)),this.runInAsyncScope(i,null,null,{statusCode:t,headers:a,socket:r,opaque:o,context:n})}onError(t){let{callback:s,opaque:r}=this;em(this),s&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(s,null,t,{opaque:r})}))}};function tm(e,t){if(t===void 0)return new Promise((s,r)=>{tm.call(this,e,(i,o)=>i?r(i):s(o))});try{let s=new gl(e,t);this.dispatch({...e,method:"CONNECT"},s)}catch(s){if(typeof t!="function")throw s;let r=e?.opaque;queueMicrotask(()=>t(s,{opaque:r}))}}sm.exports=tm});var im=Q((rY,kr)=>{"use strict";kr.exports.request=NE();kr.exports.stream=JE();kr.exports.pipeline=qE();kr.exports.upgrade=XE();kr.exports.connect=rm()});var dl=Q((iY,nm)=>{"use strict";var{UndiciError:AR}=Y(),om=Symbol.for("undici.error.UND_MOCK_ERR_MOCK_NOT_MATCHED"),hl=class e extends AR{constructor(t){super(t),Error.captureStackTrace(this,e),this.name="MockNotMatchedError",this.message=t||"The request does not match any registered mock dispatches",this.code="UND_MOCK_ERR_MOCK_NOT_MATCHED"}static[Symbol.hasInstance](t){return t&&t[om]===!0}[om]=!0};nm.exports={MockNotMatchedError:hl}});var Dr=Q((oY,am)=>{"use strict";am.exports={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"),kOrigin:Symbol("origin"),kIsMockActive:Symbol("is mock active"),kNetConnect:Symbol("net connect"),kGetNetConnect:Symbol("get net connect"),kConnected:Symbol("connected")}});var Fi=Q((nY,fm)=>{"use strict";var{MockNotMatchedError:Fs}=dl(),{kDispatches:Bn,kMockAgent:cR,kOriginalDispatch:lR,kOrigin:uR,kGetNetConnect:pR}=Dr(),{buildURL:gR}=N(),{STATUS_CODES:hR}=require("node:http"),{types:{isPromise:dR}}=require("node:util");function _t(e,t){return typeof e=="string"?e===t:e instanceof RegExp?e.test(t):typeof e=="function"?e(t)===!0:!1}function cm(e){return Object.fromEntries(Object.entries(e).map(([t,s])=>[t.toLocaleLowerCase(),s]))}function lm(e,t){if(Array.isArray(e)){for(let s=0;s"u")return!0;if(typeof t!="object"||typeof e.headers!="object")return!1;for(let[s,r]of Object.entries(e.headers)){let i=lm(t,s);if(!_t(r,i))return!1}return!0}function Am(e){if(typeof e!="string")return e;let t=e.split("?");if(t.length!==2)return e;let s=new URLSearchParams(t.pop());return s.sort(),[...t,s.toString()].join("?")}function ER(e,{path:t,method:s,body:r,headers:i}){let o=_t(e.path,t),n=_t(e.method,s),a=typeof e.body<"u"?_t(e.body,r):!0,A=um(e,i);return o&&n&&a&&A}function pm(e){return Buffer.isBuffer(e)||e instanceof Uint8Array||e instanceof ArrayBuffer?e:typeof e=="object"?JSON.stringify(e):e.toString()}function gm(e,t){let s=t.query?gR(t.path,t.query):t.path,r=typeof s=="string"?Am(s):s,i=e.filter(({consumed:o})=>!o).filter(({path:o})=>_t(Am(o),r));if(i.length===0)throw new Fs(`Mock dispatch not matched for path '${r}'`);if(i=i.filter(({method:o})=>_t(o,t.method)),i.length===0)throw new Fs(`Mock dispatch not matched for method '${t.method}' on path '${r}'`);if(i=i.filter(({body:o})=>typeof o<"u"?_t(o,t.body):!0),i.length===0)throw new Fs(`Mock dispatch not matched for body '${t.body}' on path '${r}'`);if(i=i.filter(o=>um(o,t.headers)),i.length===0){let o=typeof t.headers=="object"?JSON.stringify(t.headers):t.headers;throw new Fs(`Mock dispatch not matched for headers '${o}' on path '${r}'`)}return i[0]}function mR(e,t,s){let r={timesInvoked:0,times:1,persist:!1,consumed:!1},i=typeof s=="function"?{callback:s}:{...s},o={...r,...t,pending:!0,data:{error:null,...i}};return e.push(o),o}function El(e,t){let s=e.findIndex(r=>r.consumed?ER(r,t):!1);s!==-1&&e.splice(s,1)}function hm(e){let{path:t,method:s,body:r,headers:i,query:o}=e;return{path:t,method:s,body:r,headers:i,query:o}}function ml(e){let t=Object.keys(e),s=[];for(let r=0;r=p,r.pending=l0?setTimeout(()=>{g(this[Bn])},c):g(this[Bn]);function g(E,f=o){let d=Array.isArray(e.headers)?fl(e.headers):e.headers,m=typeof f=="function"?f({...e,headers:d}):f;if(dR(m)){m.then(S=>g(E,S));return}let C=pm(m),B=ml(n),b=ml(a);t.onConnect?.(S=>t.onError(S),null),t.onHeaders?.(i,B,h,dm(i)),t.onData?.(Buffer.from(C)),t.onComplete?.(b),El(E,s)}function h(){}return!0}function QR(){let e=this[cR],t=this[uR],s=this[lR];return function(i,o){if(e.isMockActive)try{Em.call(this,i,o)}catch(n){if(n instanceof Fs){let a=e[pR]();if(a===!1)throw new Fs(`${n.message}: subsequent request to origin ${t} was not allowed (net.connect disabled)`);if(mm(a,t))s.call(this,i,o);else throw new Fs(`${n.message}: subsequent request to origin ${t} was not allowed (net.connect is not enabled for this origin)`)}else throw n}else s.call(this,i,o)}}function mm(e,t){let s=new URL(t);return e===!0?!0:!!(Array.isArray(e)&&e.some(r=>_t(r,s.host)))}function BR(e){if(e){let{agent:t,...s}=e;return s}}fm.exports={getResponseData:pm,getMockDispatch:gm,addMockDispatch:mR,deleteMockDispatch:El,buildKey:hm,generateKeyValues:ml,matchValue:_t,getResponse:fR,getStatusText:dm,mockDispatch:Em,buildMockDispatch:QR,checkNetConnect:mm,buildMockOptions:BR,getHeaderByName:lm,buildHeadersFromArray:fl}});var yl=Q((aY,bl)=>{"use strict";var{getResponseData:CR,buildKey:IR,addMockDispatch:Ql}=Fi(),{kDispatches:Cn,kDispatchKey:In,kDefaultHeaders:Bl,kDefaultTrailers:Cl,kContentLength:Il,kMockDispatch:wn}=Dr(),{InvalidArgumentError:bt}=Y(),{buildURL:wR}=N(),Rr=class{constructor(t){this[wn]=t}delay(t){if(typeof t!="number"||!Number.isInteger(t)||t<=0)throw new bt("waitInMs must be a valid integer > 0");return this[wn].delay=t,this}persist(){return this[wn].persist=!0,this}times(t){if(typeof t!="number"||!Number.isInteger(t)||t<=0)throw new bt("repeatTimes must be a valid integer > 0");return this[wn].times=t,this}},wl=class{constructor(t,s){if(typeof t!="object")throw new bt("opts must be an object");if(typeof t.path>"u")throw new bt("opts.path must be defined");if(typeof t.method>"u"&&(t.method="GET"),typeof t.path=="string")if(t.query)t.path=wR(t.path,t.query);else{let r=new URL(t.path,"data://");t.path=r.pathname+r.search}typeof t.method=="string"&&(t.method=t.method.toUpperCase()),this[In]=IR(t),this[Cn]=s,this[Bl]={},this[Cl]={},this[Il]=!1}createMockScopeDispatchData({statusCode:t,data:s,responseOptions:r}){let i=CR(s),o=this[Il]?{"content-length":i.length}:{},n={...this[Bl],...o,...r.headers},a={...this[Cl],...r.trailers};return{statusCode:t,data:s,headers:n,trailers:a}}validateReplyParameters(t){if(typeof t.statusCode>"u")throw new bt("statusCode must be defined");if(typeof t.responseOptions!="object"||t.responseOptions===null)throw new bt("responseOptions must be an object")}reply(t){if(typeof t=="function"){let o=a=>{let A=t(a);if(typeof A!="object"||A===null)throw new bt("reply options callback must return an object");let c={data:"",responseOptions:{},...A};return this.validateReplyParameters(c),{...this.createMockScopeDispatchData(c)}},n=Ql(this[Cn],this[In],o);return new Rr(n)}let s={statusCode:t,data:arguments[1]===void 0?"":arguments[1],responseOptions:arguments[2]===void 0?{}:arguments[2]};this.validateReplyParameters(s);let r=this.createMockScopeDispatchData(s),i=Ql(this[Cn],this[In],r);return new Rr(i)}replyWithError(t){if(typeof t>"u")throw new bt("error must be defined");let s=Ql(this[Cn],this[In],{error:t});return new Rr(s)}defaultReplyHeaders(t){if(typeof t>"u")throw new bt("headers must be defined");return this[Bl]=t,this}defaultReplyTrailers(t){if(typeof t>"u")throw new bt("trailers must be defined");return this[Cl]=t,this}replyContentLength(){return this[Il]=!0,this}};bl.exports.MockInterceptor=wl;bl.exports.MockScope=Rr});var kl=Q((AY,ym)=>{"use strict";var{promisify:bR}=require("node:util"),yR=Qr(),{buildMockDispatch:xR}=Fi(),{kDispatches:Qm,kMockAgent:Bm,kClose:Cm,kOriginalClose:Im,kOrigin:wm,kOriginalDispatch:vR,kConnected:xl}=Dr(),{MockInterceptor:kR}=yl(),bm=j(),{InvalidArgumentError:DR}=Y(),vl=class extends yR{constructor(t,s){if(super(t,s),!s||!s.agent||typeof s.agent.dispatch!="function")throw new DR("Argument opts.agent must implement Agent");this[Bm]=s.agent,this[wm]=t,this[Qm]=[],this[xl]=1,this[vR]=this.dispatch,this[Im]=this.close.bind(this),this.dispatch=xR.call(this),this.close=this[Cm]}get[bm.kConnected](){return this[xl]}intercept(t){return new kR(t,this[Qm])}async[Cm](){await bR(this[Im])(),this[xl]=0,this[Bm][bm.kClients].delete(this[wm])}};ym.exports=vl});var Tl=Q((cY,Fm)=>{"use strict";var{promisify:RR}=require("node:util"),TR=Br(),{buildMockDispatch:FR}=Fi(),{kDispatches:xm,kMockAgent:vm,kClose:km,kOriginalClose:Dm,kOrigin:Rm,kOriginalDispatch:SR,kConnected:Dl}=Dr(),{MockInterceptor:UR}=yl(),Tm=j(),{InvalidArgumentError:NR}=Y(),Rl=class extends TR{constructor(t,s){if(super(t,s),!s||!s.agent||typeof s.agent.dispatch!="function")throw new NR("Argument opts.agent must implement Agent");this[vm]=s.agent,this[Rm]=t,this[xm]=[],this[Dl]=1,this[SR]=this.dispatch,this[Dm]=this.close.bind(this),this.dispatch=FR.call(this),this.close=this[km]}get[Tm.kConnected](){return this[Dl]}intercept(t){return new UR(t,this[xm])}async[km](){await RR(this[Dm])(),this[Dl]=0,this[vm][Tm.kClients].delete(this[Rm])}};Fm.exports=Rl});var Um=Q((uY,Sm)=>{"use strict";var GR={pronoun:"it",is:"is",was:"was",this:"this"},MR={pronoun:"they",is:"are",was:"were",this:"these"};Sm.exports=class{constructor(t,s){this.singular=t,this.plural=s}pluralize(t){let s=t===1,r=s?GR:MR,i=s?this.singular:this.plural;return{...r,count:t,noun:i}}}});var Gm=Q((gY,Nm)=>{"use strict";var{Transform:LR}=require("node:stream"),{Console:_R}=require("node:console"),YR=process.versions.icu?"\u2705":"Y ",OR=process.versions.icu?"\u274C":"N ";Nm.exports=class{constructor({disableColors:t}={}){this.transform=new LR({transform(s,r,i){i(null,s)}}),this.logger=new _R({stdout:this.transform,inspectOptions:{colors:!t&&!process.env.CI}})}format(t){let s=t.map(({method:r,path:i,data:{statusCode:o},persist:n,times:a,timesInvoked:A,origin:c})=>({Method:r,Origin:c,Path:i,"Status code":o,Persistent:n?YR:OR,Invocations:A,Remaining:n?1/0:a-A}));return this.logger.table(s),this.transform.read().toString()}}});var Ym=Q((hY,_m)=>{"use strict";var{kClients:Ss}=j(),JR=Cr(),{kAgent:Fl,kMockAgentSet:bn,kMockAgentGet:Mm,kDispatches:Sl,kIsMockActive:yn,kNetConnect:Us,kGetNetConnect:PR,kOptions:xn,kFactory:vn}=Dr(),HR=kl(),VR=Tl(),{matchValue:qR,buildMockOptions:WR}=Fi(),{InvalidArgumentError:Lm,UndiciError:jR}=Y(),zR=ti(),ZR=Um(),KR=Gm(),Ul=class extends zR{constructor(t){if(super(t),this[Us]=!0,this[yn]=!0,t?.agent&&typeof t.agent.dispatch!="function")throw new Lm("Argument opts.agent must implement Agent");let s=t?.agent?t.agent:new JR(t);this[Fl]=s,this[Ss]=s[Ss],this[xn]=WR(t)}get(t){let s=this[Mm](t);return s||(s=this[vn](t),this[bn](t,s)),s}dispatch(t,s){return this.get(t.origin),this[Fl].dispatch(t,s)}async close(){await this[Fl].close(),this[Ss].clear()}deactivate(){this[yn]=!1}activate(){this[yn]=!0}enableNetConnect(t){if(typeof t=="string"||typeof t=="function"||t instanceof RegExp)Array.isArray(this[Us])?this[Us].push(t):this[Us]=[t];else if(typeof t>"u")this[Us]=!0;else throw new Lm("Unsupported matcher. Must be one of String|Function|RegExp.")}disableNetConnect(){this[Us]=!1}get isMockActive(){return this[yn]}[bn](t,s){this[Ss].set(t,s)}[vn](t){let s=Object.assign({agent:this},this[xn]);return this[xn]&&this[xn].connections===1?new HR(t,s):new VR(t,s)}[Mm](t){let s=this[Ss].get(t);if(s)return s;if(typeof t!="string"){let r=this[vn]("http://localhost:9999");return this[bn](t,r),r}for(let[r,i]of Array.from(this[Ss]))if(i&&typeof r!="string"&&qR(r,t)){let o=this[vn](t);return this[bn](t,o),o[Sl]=i[Sl],o}}[PR](){return this[Us]}pendingInterceptors(){let t=this[Ss];return Array.from(t.entries()).flatMap(([s,r])=>r[Sl].map(i=>({...i,origin:s}))).filter(({pending:s})=>s)}assertNoPendingInterceptors({pendingInterceptorsFormatter:t=new KR}={}){let s=this.pendingInterceptors();if(s.length===0)return;let r=new ZR("interceptor","interceptors").pluralize(s.length);throw new jR(` +${r.count} ${r.noun} ${r.is} pending: + +${t.format(s)} +`.trim())}};_m.exports=Ul});var kn=Q((dY,Hm)=>{"use strict";var Om=Symbol.for("undici.globalDispatcher.1"),{InvalidArgumentError:XR}=Y(),$R=Cr();Pm()===void 0&&Jm(new $R);function Jm(e){if(!e||typeof e.dispatch!="function")throw new XR("Argument agent must implement Agent");Object.defineProperty(globalThis,Om,{value:e,writable:!0,enumerable:!1,configurable:!1})}function Pm(){return globalThis[Om]}Hm.exports={setGlobalDispatcher:Jm,getGlobalDispatcher:Pm}});var Dn=Q((mY,Vm)=>{"use strict";Vm.exports=class{#e;constructor(t){if(typeof t!="object"||t===null)throw new TypeError("handler must be an object");this.#e=t}onConnect(...t){return this.#e.onConnect?.(...t)}onError(...t){return this.#e.onError?.(...t)}onUpgrade(...t){return this.#e.onUpgrade?.(...t)}onResponseStarted(...t){return this.#e.onResponseStarted?.(...t)}onHeaders(...t){return this.#e.onHeaders?.(...t)}onData(...t){return this.#e.onData?.(...t)}onComplete(...t){return this.#e.onComplete?.(...t)}onBodySent(...t){return this.#e.onBodySent?.(...t)}}});var Wm=Q((fY,qm)=>{"use strict";var eT=an();qm.exports=e=>{let t=e?.maxRedirections;return s=>function(i,o){let{maxRedirections:n=t,...a}=i;if(!n)return s(i,o);let A=new eT(s,n,i,o);return s(a,A)}}});var zm=Q((QY,jm)=>{"use strict";var tT=fn();jm.exports=e=>t=>function(r,i){return t(r,new tT({...r,retryOptions:{...e,...r.retryOptions}},{handler:i,dispatch:t}))}});var Km=Q((BY,Zm)=>{"use strict";var sT=N(),{InvalidArgumentError:rT,RequestAbortedError:iT}=Y(),oT=Dn(),Nl=class extends oT{#e=1024*1024;#t=null;#i=!1;#s=!1;#r=0;#A=null;#a=null;constructor({maxSize:t},s){if(super(s),t!=null&&(!Number.isFinite(t)||t<1))throw new rT("maxSize must be a number greater than 0");this.#e=t??this.#e,this.#a=s}onConnect(t){this.#t=t,this.#a.onConnect(this.#c.bind(this))}#c(t){this.#s=!0,this.#A=t}onHeaders(t,s,r,i){let n=sT.parseHeaders(s)["content-length"];if(n!=null&&n>this.#e)throw new iT(`Response size (${n}) larger than maxSize (${this.#e})`);return this.#s?!0:this.#a.onHeaders(t,s,r,i)}onError(t){this.#i||(t=this.#A??t,this.#a.onError(t))}onData(t){return this.#r=this.#r+t.length,this.#r>=this.#e&&(this.#i=!0,this.#s?this.#a.onError(this.#A):this.#a.onComplete([])),!0}onComplete(t){if(!this.#i){if(this.#s){this.#a.onError(this.reason);return}this.#a.onComplete(t)}}};function nT({maxSize:e}={maxSize:1024*1024}){return t=>function(r,i){let{dumpMaxSize:o=e}=r,n=new Nl({maxSize:o},i);return t(r,n)}}Zm.exports=nT});var ef=Q((CY,$m)=>{"use strict";var{isIP:aT}=require("node:net"),{lookup:AT}=require("node:dns"),cT=Dn(),{InvalidArgumentError:Tr,InformationalError:lT}=Y(),Xm=Math.pow(2,31)-1,Gl=class{#e=0;#t=0;#i=new Map;dualStack=!0;affinity=null;lookup=null;pick=null;constructor(t){this.#e=t.maxTTL,this.#t=t.maxItems,this.dualStack=t.dualStack,this.affinity=t.affinity,this.lookup=t.lookup??this.#s,this.pick=t.pick??this.#r}get full(){return this.#i.size===this.#t}runLookup(t,s,r){let i=this.#i.get(t.hostname);if(i==null&&this.full){r(null,t.origin);return}let o={affinity:this.affinity,dualStack:this.dualStack,lookup:this.lookup,pick:this.pick,...s.dns,maxTTL:this.#e,maxItems:this.#t};if(i==null)this.lookup(t,o,(n,a)=>{if(n||a==null||a.length===0){r(n??new lT("No DNS entries found"));return}this.setRecords(t,a);let A=this.#i.get(t.hostname),c=this.pick(t,A,o.affinity),u;typeof c.port=="number"?u=`:${c.port}`:t.port!==""?u=`:${t.port}`:u="",r(null,`${t.protocol}//${c.family===6?`[${c.address}]`:c.address}${u}`)});else{let n=this.pick(t,i,o.affinity);if(n==null){this.#i.delete(t.hostname),this.runLookup(t,s,r);return}let a;typeof n.port=="number"?a=`:${n.port}`:t.port!==""?a=`:${t.port}`:a="",r(null,`${t.protocol}//${n.family===6?`[${n.address}]`:n.address}${a}`)}}#s(t,s,r){AT(t.hostname,{all:!0,family:this.dualStack===!1?this.affinity:0,order:"ipv4first"},(i,o)=>{if(i)return r(i);let n=new Map;for(let a of o)n.set(`${a.address}:${a.family}`,a);r(null,n.values())})}#r(t,s,r){let i=null,{records:o,offset:n}=s,a;if(this.dualStack?(r==null&&(n==null||n===Xm?(s.offset=0,r=4):(s.offset++,r=(s.offset&1)===1?6:4)),o[r]!=null&&o[r].ips.length>0?a=o[r]:a=o[r===4?6:4]):a=o[r],a==null||a.ips.length===0)return i;a.offset==null||a.offset===Xm?a.offset=0:a.offset++;let A=a.offset%a.ips.length;return i=a.ips[A]??null,i==null?i:Date.now()-i.timestamp>i.ttl?(a.ips.splice(A,1),this.pick(t,s,r)):i}setRecords(t,s){let r=Date.now(),i={records:{4:null,6:null}};for(let o of s){o.timestamp=r,typeof o.ttl=="number"?o.ttl=Math.min(o.ttl,this.#e):o.ttl=this.#e;let n=i.records[o.family]??{ips:[]};n.ips.push(o),i.records[o.family]=n}this.#i.set(t.hostname,i)}getHandler(t,s){return new Ml(this,t,s)}},Ml=class extends cT{#e=null;#t=null;#i=null;#s=null;#r=null;constructor(t,{origin:s,handler:r,dispatch:i},o){super(r),this.#r=s,this.#s=r,this.#t={...o},this.#e=t,this.#i=i}onError(t){switch(t.code){case"ETIMEDOUT":case"ECONNREFUSED":{if(this.#e.dualStack){this.#e.runLookup(this.#r,this.#t,(s,r)=>{if(s)return this.#s.onError(s);let i={...this.#t,origin:r};this.#i(i,this)});return}this.#s.onError(t);return}case"ENOTFOUND":this.#e.deleteRecord(this.#r);default:this.#s.onError(t);break}}};$m.exports=e=>{if(e?.maxTTL!=null&&(typeof e?.maxTTL!="number"||e?.maxTTL<0))throw new Tr("Invalid maxTTL. Must be a positive number");if(e?.maxItems!=null&&(typeof e?.maxItems!="number"||e?.maxItems<1))throw new Tr("Invalid maxItems. Must be a positive number and greater than zero");if(e?.affinity!=null&&e?.affinity!==4&&e?.affinity!==6)throw new Tr("Invalid affinity. Must be either 4 or 6");if(e?.dualStack!=null&&typeof e?.dualStack!="boolean")throw new Tr("Invalid dualStack. Must be a boolean");if(e?.lookup!=null&&typeof e?.lookup!="function")throw new Tr("Invalid lookup. Must be a function");if(e?.pick!=null&&typeof e?.pick!="function")throw new Tr("Invalid pick. Must be a function");let t=e?.dualStack??!0,s;t?s=e?.affinity??null:s=e?.affinity??4;let r={maxTTL:e?.maxTTL??1e4,lookup:e?.lookup??null,pick:e?.pick??null,dualStack:t,affinity:s,maxItems:e?.maxItems??1/0},i=new Gl(r);return o=>function(a,A){let c=a.origin.constructor===URL?a.origin:new URL(a.origin);return aT(c.hostname)!==0?o(a,A):(i.runLookup(c,a,(u,l)=>{if(u)return A.onError(u);let p=null;p={...a,servername:c.hostname,origin:l,headers:{host:c.hostname,...a.headers}},o(p,i.getHandler({origin:c,dispatch:o,handler:A},a))}),!0)}}});var Ns=Q((IY,Af)=>{"use strict";var{kConstruct:uT}=j(),{kEnumerableProperty:Fr}=N(),{iteratorMixin:pT,isValidHeaderName:Si,isValidHeaderValue:sf}=Ue(),{webidl:_}=ge(),Ll=require("node:assert"),Rn=require("node:util"),re=Symbol("headers map"),Me=Symbol("headers map sorted");function tf(e){return e===10||e===13||e===9||e===32}function rf(e){let t=0,s=e.length;for(;s>t&&tf(e.charCodeAt(s-1));)--s;for(;s>t&&tf(e.charCodeAt(t));)++t;return t===0&&s===e.length?e:e.substring(t,s)}function of(e,t){if(Array.isArray(t))for(let s=0;s>","record"]})}function _l(e,t,s){if(s=rf(s),Si(t)){if(!sf(s))throw _.errors.invalidArgument({prefix:"Headers.append",value:s,type:"header value"})}else throw _.errors.invalidArgument({prefix:"Headers.append",value:t,type:"header name"});if(af(e)==="immutable")throw new TypeError("immutable");return Yl(e).append(t,s,!1)}function nf(e,t){return e[0]>1),s[c][0]<=u[0]?A=c+1:a=c;if(o!==c){for(n=o;n>A;)s[n]=s[--n];s[A]=u}}if(!r.next().done)throw new TypeError("Unreachable");return s}else{let r=0;for(let{0:i,1:{value:o}}of this[re])s[r++]=[i,o],Ll(o!==null);return s.sort(nf)}}},ct=class e{#e;#t;constructor(t=void 0){_.util.markAsUncloneable(this),t!==uT&&(this.#t=new Tn,this.#e="none",t!==void 0&&(t=_.converters.HeadersInit(t,"Headers contructor","init"),of(this,t)))}append(t,s){_.brandCheck(this,e),_.argumentLengthCheck(arguments,2,"Headers.append");let r="Headers.append";return t=_.converters.ByteString(t,r,"name"),s=_.converters.ByteString(s,r,"value"),_l(this,t,s)}delete(t){if(_.brandCheck(this,e),_.argumentLengthCheck(arguments,1,"Headers.delete"),t=_.converters.ByteString(t,"Headers.delete","name"),!Si(t))throw _.errors.invalidArgument({prefix:"Headers.delete",value:t,type:"header name"});if(this.#e==="immutable")throw new TypeError("immutable");this.#t.contains(t,!1)&&this.#t.delete(t,!1)}get(t){_.brandCheck(this,e),_.argumentLengthCheck(arguments,1,"Headers.get");let s="Headers.get";if(t=_.converters.ByteString(t,s,"name"),!Si(t))throw _.errors.invalidArgument({prefix:s,value:t,type:"header name"});return this.#t.get(t,!1)}has(t){_.brandCheck(this,e),_.argumentLengthCheck(arguments,1,"Headers.has");let s="Headers.has";if(t=_.converters.ByteString(t,s,"name"),!Si(t))throw _.errors.invalidArgument({prefix:s,value:t,type:"header name"});return this.#t.contains(t,!1)}set(t,s){_.brandCheck(this,e),_.argumentLengthCheck(arguments,2,"Headers.set");let r="Headers.set";if(t=_.converters.ByteString(t,r,"name"),s=_.converters.ByteString(s,r,"value"),s=rf(s),Si(t)){if(!sf(s))throw _.errors.invalidArgument({prefix:r,value:s,type:"header value"})}else throw _.errors.invalidArgument({prefix:r,value:t,type:"header name"});if(this.#e==="immutable")throw new TypeError("immutable");this.#t.set(t,s,!1)}getSetCookie(){_.brandCheck(this,e);let t=this.#t.cookies;return t?[...t]:[]}get[Me](){if(this.#t[Me])return this.#t[Me];let t=[],s=this.#t.toSortedArray(),r=this.#t.cookies;if(r===null||r.length===1)return this.#t[Me]=s;for(let i=0;i>"](e,t,s,r.bind(e)):_.converters["record"](e,t,s)}throw _.errors.conversionFailed({prefix:"Headers constructor",argument:"Argument 1",types:["sequence>","record"]})};Af.exports={fill:of,compareHeaderName:nf,Headers:ct,HeadersList:Tn,getHeadersGuard:af,setHeadersGuard:gT,setHeadersList:hT,getHeadersList:Yl}});var Ni=Q((wY,Bf)=>{"use strict";var{Headers:hf,HeadersList:cf,fill:dT,getHeadersGuard:ET,setHeadersGuard:df,setHeadersList:Ef}=Ns(),{extractBody:lf,cloneBody:mT,mixinBody:fT,hasFinalizationRegistry:mf,streamRegistry:ff,bodyUnusable:QT}=pr(),Ol=N(),uf=require("node:util"),{kEnumerableProperty:Le}=Ol,{isValidReasonPhrase:BT,isCancelled:CT,isAborted:IT,isBlobLike:wT,serializeJavascriptValueToJSONString:bT,isErrorLike:yT,isomorphicEncode:xT,environmentSettingsObject:vT}=Ue(),{redirectStatusSet:kT,nullBodyStatus:DT}=ii(),{kState:Z,kHeaders:Yt}=Kt(),{webidl:U}=ge(),{FormData:RT}=li(),{URLSerializer:pf}=ve(),{kConstruct:Sn}=j(),Jl=require("node:assert"),{types:TT}=require("node:util"),FT=new TextEncoder("utf-8"),Gs=class e{static error(){return Ui(Un(),"immutable")}static json(t,s={}){U.argumentLengthCheck(arguments,1,"Response.json"),s!==null&&(s=U.converters.ResponseInit(s));let r=FT.encode(bT(t)),i=lf(r),o=Ui(Sr({}),"response");return gf(o,s,{body:i[0],type:"application/json"}),o}static redirect(t,s=302){U.argumentLengthCheck(arguments,1,"Response.redirect"),t=U.converters.USVString(t),s=U.converters["unsigned short"](s);let r;try{r=new URL(t,vT.settingsObject.baseUrl)}catch(n){throw new TypeError(`Failed to parse URL from ${t}`,{cause:n})}if(!kT.has(s))throw new RangeError(`Invalid status code ${s}`);let i=Ui(Sr({}),"immutable");i[Z].status=s;let o=xT(pf(r));return i[Z].headersList.append("location",o,!0),i}constructor(t=null,s={}){if(U.util.markAsUncloneable(this),t===Sn)return;t!==null&&(t=U.converters.BodyInit(t)),s=U.converters.ResponseInit(s),this[Z]=Sr({}),this[Yt]=new hf(Sn),df(this[Yt],"response"),Ef(this[Yt],this[Z].headersList);let r=null;if(t!=null){let[i,o]=lf(t);r={body:i,type:o}}gf(this,s,r)}get type(){return U.brandCheck(this,e),this[Z].type}get url(){U.brandCheck(this,e);let t=this[Z].urlList,s=t[t.length-1]??null;return s===null?"":pf(s,!0)}get redirected(){return U.brandCheck(this,e),this[Z].urlList.length>1}get status(){return U.brandCheck(this,e),this[Z].status}get ok(){return U.brandCheck(this,e),this[Z].status>=200&&this[Z].status<=299}get statusText(){return U.brandCheck(this,e),this[Z].statusText}get headers(){return U.brandCheck(this,e),this[Yt]}get body(){return U.brandCheck(this,e),this[Z].body?this[Z].body.stream:null}get bodyUsed(){return U.brandCheck(this,e),!!this[Z].body&&Ol.isDisturbed(this[Z].body.stream)}clone(){if(U.brandCheck(this,e),QT(this))throw U.errors.exception({header:"Response.clone",message:"Body has already been consumed."});let t=Pl(this[Z]);return mf&&this[Z].body?.stream&&ff.register(this,new WeakRef(this[Z].body.stream)),Ui(t,ET(this[Yt]))}[uf.inspect.custom](t,s){s.depth===null&&(s.depth=2),s.colors??=!0;let r={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 ${uf.formatWithOptions(s,r)}`}};fT(Gs);Object.defineProperties(Gs.prototype,{type:Le,url:Le,status:Le,ok:Le,redirected:Le,statusText:Le,headers:Le,clone:Le,body:Le,bodyUsed:Le,[Symbol.toStringTag]:{value:"Response",configurable:!0}});Object.defineProperties(Gs,{json:Le,redirect:Le,error:Le});function Pl(e){if(e.internalResponse)return Qf(Pl(e.internalResponse),e.type);let t=Sr({...e,body:null});return e.body!=null&&(t.body=mT(t,e.body)),t}function Sr(e){return{aborted:!1,rangeRequested:!1,timingAllowPassed:!1,requestIncludesCredentials:!1,type:"default",status:200,timingInfo:null,cacheState:"",statusText:"",...e,headersList:e?.headersList?new cf(e?.headersList):new cf,urlList:e?.urlList?[...e.urlList]:[]}}function Un(e){let t=yT(e);return Sr({type:"error",status:0,error:t?e:new Error(e&&String(e)),aborted:e&&e.name==="AbortError"})}function ST(e){return e.type==="error"&&e.status===0}function Fn(e,t){return t={internalResponse:e,...t},new Proxy(e,{get(s,r){return r in t?t[r]:s[r]},set(s,r,i){return Jl(!(r in t)),s[r]=i,!0}})}function Qf(e,t){if(t==="basic")return Fn(e,{type:"basic",headersList:e.headersList});if(t==="cors")return Fn(e,{type:"cors",headersList:e.headersList});if(t==="opaque")return Fn(e,{type:"opaque",urlList:Object.freeze([]),status:0,statusText:"",body:null});if(t==="opaqueredirect")return Fn(e,{type:"opaqueredirect",status:0,statusText:"",headersList:[],body:null});Jl(!1)}function UT(e,t=null){return Jl(CT(e)),IT(e)?Un(Object.assign(new DOMException("The operation was aborted.","AbortError"),{cause:t})):Un(Object.assign(new DOMException("Request was cancelled."),{cause:t}))}function gf(e,t,s){if(t.status!==null&&(t.status<200||t.status>599))throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.');if("statusText"in t&&t.statusText!=null&&!BT(String(t.statusText)))throw new TypeError("Invalid statusText");if("status"in t&&t.status!=null&&(e[Z].status=t.status),"statusText"in t&&t.statusText!=null&&(e[Z].statusText=t.statusText),"headers"in t&&t.headers!=null&&dT(e[Yt],t.headers),s){if(DT.includes(e.status))throw U.errors.exception({header:"Response constructor",message:`Invalid response status code ${e.status}`});e[Z].body=s.body,s.type!=null&&!e[Z].headersList.contains("content-type",!0)&&e[Z].headersList.append("content-type",s.type,!0)}}function Ui(e,t){let s=new Gs(Sn);return s[Z]=e,s[Yt]=new hf(Sn),Ef(s[Yt],e.headersList),df(s[Yt],t),mf&&e.body?.stream&&ff.register(s,new WeakRef(e.body.stream)),s}U.converters.ReadableStream=U.interfaceConverter(ReadableStream);U.converters.FormData=U.interfaceConverter(RT);U.converters.URLSearchParams=U.interfaceConverter(URLSearchParams);U.converters.XMLHttpRequestBodyInit=function(e,t,s){return typeof e=="string"?U.converters.USVString(e,t,s):wT(e)?U.converters.Blob(e,t,s,{strict:!1}):ArrayBuffer.isView(e)||TT.isArrayBuffer(e)?U.converters.BufferSource(e,t,s):Ol.isFormDataLike(e)?U.converters.FormData(e,t,s,{strict:!1}):e instanceof URLSearchParams?U.converters.URLSearchParams(e,t,s):U.converters.DOMString(e,t,s)};U.converters.BodyInit=function(e,t,s){return e instanceof ReadableStream?U.converters.ReadableStream(e,t,s):e?.[Symbol.asyncIterator]?e:U.converters.XMLHttpRequestBodyInit(e,t,s)};U.converters.ResponseInit=U.dictionaryConverter([{key:"status",converter:U.converters["unsigned short"],defaultValue:()=>200},{key:"statusText",converter:U.converters.ByteString,defaultValue:()=>""},{key:"headers",converter:U.converters.HeadersInit}]);Bf.exports={isNetworkError:ST,makeNetworkError:Un,makeResponse:Sr,makeAppropriateNetworkError:UT,filterResponse:Qf,Response:Gs,cloneResponse:Pl,fromInnerResponse:Ui}});var bf=Q((bY,wf)=>{"use strict";var{kConnected:Cf,kSize:If}=j(),Hl=class{constructor(t){this.value=t}deref(){return this.value[Cf]===0&&this.value[If]===0?void 0:this.value}},Vl=class{constructor(t){this.finalizer=t}register(t,s){t.on&&t.on("disconnect",()=>{t[Cf]===0&&t[If]===0&&this.finalizer(s)})}unregister(t){}};wf.exports=function(){return process.env.NODE_V8_COVERAGE&&process.version.startsWith("v18")?(process._rawDebug("Using compatibility WeakRef and FinalizationRegistry"),{WeakRef:Hl,FinalizationRegistry:Vl}):{WeakRef,FinalizationRegistry}}});var Ur=Q((yY,_f)=>{"use strict";var{extractBody:NT,mixinBody:GT,cloneBody:MT,bodyUnusable:yf}=pr(),{Headers:Uf,fill:LT,HeadersList:Ln,setHeadersGuard:Wl,getHeadersGuard:_T,setHeadersList:Nf,getHeadersList:xf}=Ns(),{FinalizationRegistry:YT}=bf()(),Gn=N(),vf=require("node:util"),{isValidHTTPToken:OT,sameOrigin:kf,environmentSettingsObject:Nn}=Ue(),{forbiddenMethodsSet:JT,corsSafeListedMethodsSet:PT,referrerPolicy:HT,requestRedirect:VT,requestMode:qT,requestCredentials:WT,requestCache:jT,requestDuplex:zT}=ii(),{kEnumerableProperty:ie,normalizedMethodRecordsBase:ZT,normalizedMethodRecords:KT}=Gn,{kHeaders:_e,kSignal:Mn,kState:W,kDispatcher:ql}=Kt(),{webidl:D}=ge(),{URLSerializer:XT}=ve(),{kConstruct:_n}=j(),$T=require("node:assert"),{getMaxListeners:Df,setMaxListeners:Rf,getEventListeners:eF,defaultMaxListeners:Tf}=require("node:events"),tF=Symbol("abortController"),Gf=new YT(({signal:e,abort:t})=>{e.removeEventListener("abort",t)}),Yn=new WeakMap;function Ff(e){return t;function t(){let s=e.deref();if(s!==void 0){Gf.unregister(t),this.removeEventListener("abort",t),s.abort(this.reason);let r=Yn.get(s.signal);if(r!==void 0){if(r.size!==0){for(let i of r){let o=i.deref();o!==void 0&&o.abort(this.reason)}r.clear()}Yn.delete(s.signal)}}}}var Sf=!1,cs=class e{constructor(t,s={}){if(D.util.markAsUncloneable(this),t===_n)return;let r="Request constructor";D.argumentLengthCheck(arguments,1,r),t=D.converters.RequestInfo(t,r,"input"),s=D.converters.RequestInit(s,r,"init");let i=null,o=null,n=Nn.settingsObject.baseUrl,a=null;if(typeof t=="string"){this[ql]=s.dispatcher;let d;try{d=new URL(t,n)}catch(m){throw new TypeError("Failed to parse URL from "+t,{cause:m})}if(d.username||d.password)throw new TypeError("Request cannot be constructed from a URL that includes credentials: "+t);i=On({urlList:[d]}),o="cors"}else this[ql]=s.dispatcher||t[ql],$T(t instanceof e),i=t[W],a=t[Mn];let A=Nn.settingsObject.origin,c="client";if(i.window?.constructor?.name==="EnvironmentSettingsObject"&&kf(i.window,A)&&(c=i.window),s.window!=null)throw new TypeError(`'window' option '${c}' must be null`);"window"in s&&(c="no-window"),i=On({method:i.method,headersList:i.headersList,unsafeRequest:i.unsafeRequest,client:Nn.settingsObject,window:c,priority:i.priority,origin:i.origin,referrer:i.referrer,referrerPolicy:i.referrerPolicy,mode:i.mode,credentials:i.credentials,cache:i.cache,redirect:i.redirect,integrity:i.integrity,keepalive:i.keepalive,reloadNavigation:i.reloadNavigation,historyNavigation:i.historyNavigation,urlList:[...i.urlList]});let u=Object.keys(s).length!==0;if(u&&(i.mode==="navigate"&&(i.mode="same-origin"),i.reloadNavigation=!1,i.historyNavigation=!1,i.origin="client",i.referrer="client",i.referrerPolicy="",i.url=i.urlList[i.urlList.length-1],i.urlList=[i.url]),s.referrer!==void 0){let d=s.referrer;if(d==="")i.referrer="no-referrer";else{let m;try{m=new URL(d,n)}catch(C){throw new TypeError(`Referrer "${d}" is not a valid URL.`,{cause:C})}m.protocol==="about:"&&m.hostname==="client"||A&&!kf(m,Nn.settingsObject.baseUrl)?i.referrer="client":i.referrer=m}}s.referrerPolicy!==void 0&&(i.referrerPolicy=s.referrerPolicy);let l;if(s.mode!==void 0?l=s.mode:l=o,l==="navigate")throw D.errors.exception({header:"Request constructor",message:"invalid request mode navigate."});if(l!=null&&(i.mode=l),s.credentials!==void 0&&(i.credentials=s.credentials),s.cache!==void 0&&(i.cache=s.cache),i.cache==="only-if-cached"&&i.mode!=="same-origin")throw new TypeError("'only-if-cached' can be set only with 'same-origin' mode");if(s.redirect!==void 0&&(i.redirect=s.redirect),s.integrity!=null&&(i.integrity=String(s.integrity)),s.keepalive!==void 0&&(i.keepalive=!!s.keepalive),s.method!==void 0){let d=s.method,m=KT[d];if(m!==void 0)i.method=m;else{if(!OT(d))throw new TypeError(`'${d}' is not a valid HTTP method.`);let C=d.toUpperCase();if(JT.has(C))throw new TypeError(`'${d}' HTTP method is unsupported.`);d=ZT[C]??d,i.method=d}!Sf&&i.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"}),Sf=!0)}s.signal!==void 0&&(a=s.signal),this[W]=i;let p=new AbortController;if(this[Mn]=p.signal,a!=null){if(!a||typeof a.aborted!="boolean"||typeof a.addEventListener!="function")throw new TypeError("Failed to construct 'Request': member signal is not of type AbortSignal.");if(a.aborted)p.abort(a.reason);else{this[tF]=p;let d=new WeakRef(p),m=Ff(d);try{(typeof Df=="function"&&Df(a)===Tf||eF(a,"abort").length>=Tf)&&Rf(1500,a)}catch{}Gn.addAbortListener(a,m),Gf.register(p,{signal:a,abort:m},m)}}if(this[_e]=new Uf(_n),Nf(this[_e],i.headersList),Wl(this[_e],"request"),l==="no-cors"){if(!PT.has(i.method))throw new TypeError(`'${i.method} is unsupported in no-cors mode.`);Wl(this[_e],"request-no-cors")}if(u){let d=xf(this[_e]),m=s.headers!==void 0?s.headers:new Ln(d);if(d.clear(),m instanceof Ln){for(let{name:C,value:B}of m.rawValues())d.append(C,B,!1);d.cookies=m.cookies}else LT(this[_e],m)}let g=t instanceof e?t[W].body:null;if((s.body!=null||g!=null)&&(i.method==="GET"||i.method==="HEAD"))throw new TypeError("Request with GET/HEAD method cannot have body.");let h=null;if(s.body!=null){let[d,m]=NT(s.body,i.keepalive);h=d,m&&!xf(this[_e]).contains("content-type",!0)&&this[_e].append("content-type",m)}let E=h??g;if(E!=null&&E.source==null){if(h!=null&&s.duplex==null)throw new TypeError("RequestInit: duplex option is required when sending a body.");if(i.mode!=="same-origin"&&i.mode!=="cors")throw new TypeError('If request is made from ReadableStream, mode should be "same-origin" or "cors"');i.useCORSPreflightFlag=!0}let f=E;if(h==null&&g!=null){if(yf(t))throw new TypeError("Cannot construct a Request with a Request object that has already been used.");let d=new TransformStream;g.stream.pipeThrough(d),f={source:g.source,length:g.length,stream:d.readable}}this[W].body=f}get method(){return D.brandCheck(this,e),this[W].method}get url(){return D.brandCheck(this,e),XT(this[W].url)}get headers(){return D.brandCheck(this,e),this[_e]}get destination(){return D.brandCheck(this,e),this[W].destination}get referrer(){return D.brandCheck(this,e),this[W].referrer==="no-referrer"?"":this[W].referrer==="client"?"about:client":this[W].referrer.toString()}get referrerPolicy(){return D.brandCheck(this,e),this[W].referrerPolicy}get mode(){return D.brandCheck(this,e),this[W].mode}get credentials(){return this[W].credentials}get cache(){return D.brandCheck(this,e),this[W].cache}get redirect(){return D.brandCheck(this,e),this[W].redirect}get integrity(){return D.brandCheck(this,e),this[W].integrity}get keepalive(){return D.brandCheck(this,e),this[W].keepalive}get isReloadNavigation(){return D.brandCheck(this,e),this[W].reloadNavigation}get isHistoryNavigation(){return D.brandCheck(this,e),this[W].historyNavigation}get signal(){return D.brandCheck(this,e),this[Mn]}get body(){return D.brandCheck(this,e),this[W].body?this[W].body.stream:null}get bodyUsed(){return D.brandCheck(this,e),!!this[W].body&&Gn.isDisturbed(this[W].body.stream)}get duplex(){return D.brandCheck(this,e),"half"}clone(){if(D.brandCheck(this,e),yf(this))throw new TypeError("unusable");let t=Mf(this[W]),s=new AbortController;if(this.signal.aborted)s.abort(this.signal.reason);else{let r=Yn.get(this.signal);r===void 0&&(r=new Set,Yn.set(this.signal,r));let i=new WeakRef(s);r.add(i),Gn.addAbortListener(s.signal,Ff(i))}return Lf(t,s.signal,_T(this[_e]))}[vf.inspect.custom](t,s){s.depth===null&&(s.depth=2),s.colors??=!0;let r={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 ${vf.formatWithOptions(s,r)}`}};GT(cs);function On(e){return{method:e.method??"GET",localURLsOnly:e.localURLsOnly??!1,unsafeRequest:e.unsafeRequest??!1,body:e.body??null,client:e.client??null,reservedClient:e.reservedClient??null,replacesClientId:e.replacesClientId??"",window:e.window??"client",keepalive:e.keepalive??!1,serviceWorkers:e.serviceWorkers??"all",initiator:e.initiator??"",destination:e.destination??"",priority:e.priority??null,origin:e.origin??"client",policyContainer:e.policyContainer??"client",referrer:e.referrer??"client",referrerPolicy:e.referrerPolicy??"",mode:e.mode??"no-cors",useCORSPreflightFlag:e.useCORSPreflightFlag??!1,credentials:e.credentials??"same-origin",useCredentials:e.useCredentials??!1,cache:e.cache??"default",redirect:e.redirect??"follow",integrity:e.integrity??"",cryptoGraphicsNonceMetadata:e.cryptoGraphicsNonceMetadata??"",parserMetadata:e.parserMetadata??"",reloadNavigation:e.reloadNavigation??!1,historyNavigation:e.historyNavigation??!1,userActivation:e.userActivation??!1,taintedOrigin:e.taintedOrigin??!1,redirectCount:e.redirectCount??0,responseTainting:e.responseTainting??"basic",preventNoCacheCacheControlHeaderModification:e.preventNoCacheCacheControlHeaderModification??!1,done:e.done??!1,timingAllowFailed:e.timingAllowFailed??!1,urlList:e.urlList,url:e.urlList[0],headersList:e.headersList?new Ln(e.headersList):new Ln}}function Mf(e){let t=On({...e,body:null});return e.body!=null&&(t.body=MT(t,e.body)),t}function Lf(e,t,s){let r=new cs(_n);return r[W]=e,r[Mn]=t,r[_e]=new Uf(_n),Nf(r[_e],e.headersList),Wl(r[_e],s),r}Object.defineProperties(cs.prototype,{method:ie,url:ie,headers:ie,redirect:ie,clone:ie,signal:ie,duplex:ie,destination:ie,body:ie,bodyUsed:ie,isHistoryNavigation:ie,isReloadNavigation:ie,keepalive:ie,integrity:ie,cache:ie,credentials:ie,attribute:ie,referrerPolicy:ie,referrer:ie,mode:ie,[Symbol.toStringTag]:{value:"Request",configurable:!0}});D.converters.Request=D.interfaceConverter(cs);D.converters.RequestInfo=function(e,t,s){return typeof e=="string"?D.converters.USVString(e,t,s):e instanceof cs?D.converters.Request(e,t,s):D.converters.USVString(e,t,s)};D.converters.AbortSignal=D.interfaceConverter(AbortSignal);D.converters.RequestInit=D.dictionaryConverter([{key:"method",converter:D.converters.ByteString},{key:"headers",converter:D.converters.HeadersInit},{key:"body",converter:D.nullableConverter(D.converters.BodyInit)},{key:"referrer",converter:D.converters.USVString},{key:"referrerPolicy",converter:D.converters.DOMString,allowedValues:HT},{key:"mode",converter:D.converters.DOMString,allowedValues:qT},{key:"credentials",converter:D.converters.DOMString,allowedValues:WT},{key:"cache",converter:D.converters.DOMString,allowedValues:jT},{key:"redirect",converter:D.converters.DOMString,allowedValues:VT},{key:"integrity",converter:D.converters.DOMString},{key:"keepalive",converter:D.converters.boolean},{key:"signal",converter:D.nullableConverter(e=>D.converters.AbortSignal(e,"RequestInit","signal",{strict:!1}))},{key:"window",converter:D.converters.any},{key:"duplex",converter:D.converters.DOMString,allowedValues:zT},{key:"dispatcher",converter:D.converters.any}]);_f.exports={Request:cs,makeRequest:On,fromInnerRequest:Lf,cloneRequest:Mf}});var Mi=Q((xY,eQ)=>{"use strict";var{makeNetworkError:P,makeAppropriateNetworkError:Jn,filterResponse:jl,makeResponse:Pn,fromInnerResponse:sF}=Ni(),{HeadersList:Yf}=Ns(),{Request:rF,cloneRequest:iF}=Ur(),ls=require("node:zlib"),{bytesMatch:oF,makePolicyContainer:nF,clonePolicyContainer:aF,requestBadPort:AF,TAOCheck:cF,appendRequestOriginHeader:lF,responseLocationURL:uF,requestCurrentURL:yt,setRequestReferrerPolicyOnRedirect:pF,tryUpgradeRequestToAPotentiallyTrustworthyURL:gF,createOpaqueTimingInfo:$l,appendFetchMetadata:hF,corsCheck:dF,crossOriginResourcePolicyCheck:EF,determineRequestsReferrer:mF,coarsenedSharedCurrentTime:Gi,createDeferredPromise:fF,isBlobLike:QF,sameOrigin:Xl,isCancelled:Ms,isAborted:Of,isErrorLike:BF,fullyReadBody:CF,readableStreamClose:IF,isomorphicEncode:Hn,urlIsLocal:wF,urlIsHttpHttpsScheme:eu,urlHasHttpsScheme:bF,clampAndCoarsenConnectionTimingInfo:yF,simpleRangeHeaderValue:xF,buildContentRange:vF,createInflate:kF,extractMimeType:DF}=Ue(),{kState:Vf,kDispatcher:RF}=Kt(),Ls=require("node:assert"),{safelyExtractBody:tu,extractBody:Jf}=pr(),{redirectStatusSet:qf,nullBodyStatus:Wf,safeMethodsSet:TF,requestBodyHeader:FF,subresourceSet:SF}=ii(),UF=require("node:events"),{Readable:NF,pipeline:GF,finished:MF}=require("node:stream"),{addAbortListener:LF,isErrored:_F,isReadable:Vn,bufferToLowerCasedHeaderName:Pf}=N(),{dataURLProcessor:YF,serializeAMimeType:OF,minimizeSupportedMimeType:JF}=ve(),{getGlobalDispatcher:PF}=kn(),{webidl:HF}=ge(),{STATUS_CODES:VF}=require("node:http"),qF=["GET","HEAD"],WF=typeof __UNDICI_IS_NODE__<"u"||typeof esbuildDetection<"u"?"node":"undici",zl,qn=class extends UF{constructor(t){super(),this.dispatcher=t,this.connection=null,this.dump=!1,this.state="ongoing"}terminate(t){this.state==="ongoing"&&(this.state="terminated",this.connection?.destroy(t),this.emit("terminated",t))}abort(t){this.state==="ongoing"&&(this.state="aborted",t||(t=new DOMException("The operation was aborted.","AbortError")),this.serializedAbortReason=t,this.connection?.destroy(t),this.emit("terminated",t))}};function jF(e){jf(e,"fetch")}function zF(e,t=void 0){HF.argumentLengthCheck(arguments,1,"globalThis.fetch");let s=fF(),r;try{r=new rF(e,t)}catch(u){return s.reject(u),s.promise}let i=r[Vf];if(r.signal.aborted)return Zl(s,i,null,r.signal.reason),s.promise;i.client.globalObject?.constructor?.name==="ServiceWorkerGlobalScope"&&(i.serviceWorkers="none");let n=null,a=!1,A=null;return LF(r.signal,()=>{a=!0,Ls(A!=null),A.abort(r.signal.reason);let u=n?.deref();Zl(s,i,u,r.signal.reason)}),A=Zf({request:i,processResponseEndOfBody:jF,processResponse:u=>{if(!a){if(u.aborted){Zl(s,i,n,A.serializedAbortReason);return}if(u.type==="error"){s.reject(new TypeError("fetch failed",{cause:u.error}));return}n=new WeakRef(sF(u,"immutable")),s.resolve(n.deref()),s=null}},dispatcher:r[RF]}),s.promise}function jf(e,t="other"){if(e.type==="error"&&e.aborted||!e.urlList?.length)return;let s=e.urlList[0],r=e.timingInfo,i=e.cacheState;eu(s)&&r!==null&&(e.timingAllowPassed||(r=$l({startTime:r.startTime}),i=""),r.endTime=Gi(),e.timingInfo=r,zf(r,s.href,t,globalThis,i))}var zf=performance.markResourceTiming;function Zl(e,t,s,r){if(e&&e.reject(r),t.body!=null&&Vn(t.body?.stream)&&t.body.stream.cancel(r).catch(o=>{if(o.code!=="ERR_INVALID_STATE")throw o}),s==null)return;let i=s[Vf];i.body!=null&&Vn(i.body?.stream)&&i.body.stream.cancel(r).catch(o=>{if(o.code!=="ERR_INVALID_STATE")throw o})}function Zf({request:e,processRequestBodyChunkLength:t,processRequestEndOfBody:s,processResponse:r,processResponseEndOfBody:i,processResponseConsumeBody:o,useParallelQueue:n=!1,dispatcher:a=PF()}){Ls(a);let A=null,c=!1;e.client!=null&&(A=e.client.globalObject,c=e.client.crossOriginIsolatedCapability);let u=Gi(c),l=$l({startTime:u}),p={controller:new qn(a),request:e,timingInfo:l,processRequestBodyChunkLength:t,processRequestEndOfBody:s,processResponse:r,processResponseConsumeBody:o,processResponseEndOfBody:i,taskDestination:A,crossOriginIsolatedCapability:c};return Ls(!e.body||e.body.stream),e.window==="client"&&(e.window=e.client?.globalObject?.constructor?.name==="Window"?e.client:"no-window"),e.origin==="client"&&(e.origin=e.client.origin),e.policyContainer==="client"&&(e.client!=null?e.policyContainer=aF(e.client.policyContainer):e.policyContainer=nF()),e.headersList.contains("accept",!0)||e.headersList.append("accept","*/*",!0),e.headersList.contains("accept-language",!0)||e.headersList.append("accept-language","*",!0),e.priority,SF.has(e.destination),Kf(p).catch(g=>{p.controller.terminate(g)}),p.controller}async function Kf(e,t=!1){let s=e.request,r=null;if(s.localURLsOnly&&!wF(yt(s))&&(r=P("local URLs only")),gF(s),AF(s)==="blocked"&&(r=P("bad port")),s.referrerPolicy===""&&(s.referrerPolicy=s.policyContainer.referrerPolicy),s.referrer!=="no-referrer"&&(s.referrer=mF(s)),r===null&&(r=await(async()=>{let o=yt(s);return Xl(o,s.url)&&s.responseTainting==="basic"||o.protocol==="data:"||s.mode==="navigate"||s.mode==="websocket"?(s.responseTainting="basic",await Hf(e)):s.mode==="same-origin"?P('request mode cannot be "same-origin"'):s.mode==="no-cors"?s.redirect!=="follow"?P('redirect mode cannot be "follow" for "no-cors" request'):(s.responseTainting="opaque",await Hf(e)):eu(yt(s))?(s.responseTainting="cors",await Xf(e)):P("URL scheme must be a HTTP(S) scheme")})()),t)return r;r.status!==0&&!r.internalResponse&&(s.responseTainting,s.responseTainting==="basic"?r=jl(r,"basic"):s.responseTainting==="cors"?r=jl(r,"cors"):s.responseTainting==="opaque"?r=jl(r,"opaque"):Ls(!1));let i=r.status===0?r:r.internalResponse;if(i.urlList.length===0&&i.urlList.push(...s.urlList),s.timingAllowFailed||(r.timingAllowPassed=!0),r.type==="opaque"&&i.status===206&&i.rangeRequested&&!s.headers.contains("range",!0)&&(r=i=P()),r.status!==0&&(s.method==="HEAD"||s.method==="CONNECT"||Wf.includes(i.status))&&(i.body=null,e.controller.dump=!0),s.integrity){let o=a=>Kl(e,P(a));if(s.responseTainting==="opaque"||r.body==null){o(r.error);return}let n=a=>{if(!oF(a,s.integrity)){o("integrity mismatch");return}r.body=tu(a)[0],Kl(e,r)};await CF(r.body,n,o)}else Kl(e,r)}function Hf(e){if(Ms(e)&&e.request.redirectCount===0)return Promise.resolve(Jn(e));let{request:t}=e,{protocol:s}=yt(t);switch(s){case"about:":return Promise.resolve(P("about scheme is not supported"));case"blob:":{zl||(zl=require("node:buffer").resolveObjectURL);let r=yt(t);if(r.search.length!==0)return Promise.resolve(P("NetworkError when attempting to fetch resource."));let i=zl(r.toString());if(t.method!=="GET"||!QF(i))return Promise.resolve(P("invalid method"));let o=Pn(),n=i.size,a=Hn(`${n}`),A=i.type;if(t.headersList.contains("range",!0)){o.rangeRequested=!0;let c=t.headersList.get("range",!0),u=xF(c,!0);if(u==="failure")return Promise.resolve(P("failed to fetch the data URL"));let{rangeStartValue:l,rangeEndValue:p}=u;if(l===null)l=n-p,p=l+p-1;else{if(l>=n)return Promise.resolve(P("Range start is greater than the blob's size."));(p===null||p>=n)&&(p=n-1)}let g=i.slice(l,p,A),h=Jf(g);o.body=h[0];let E=Hn(`${g.size}`),f=vF(l,p,n);o.status=206,o.statusText="Partial Content",o.headersList.set("content-length",E,!0),o.headersList.set("content-type",A,!0),o.headersList.set("content-range",f,!0)}else{let c=Jf(i);o.statusText="OK",o.body=c[0],o.headersList.set("content-length",a,!0),o.headersList.set("content-type",A,!0)}return Promise.resolve(o)}case"data:":{let r=yt(t),i=YF(r);if(i==="failure")return Promise.resolve(P("failed to fetch the data URL"));let o=OF(i.mimeType);return Promise.resolve(Pn({statusText:"OK",headersList:[["content-type",{name:"Content-Type",value:o}]],body:tu(i.body)[0]}))}case"file:":return Promise.resolve(P("not implemented... yet..."));case"http:":case"https:":return Xf(e).catch(r=>P(r));default:return Promise.resolve(P("unknown scheme"))}}function ZF(e,t){e.request.done=!0,e.processResponseDone!=null&&queueMicrotask(()=>e.processResponseDone(t))}function Kl(e,t){let s=e.timingInfo,r=()=>{let o=Date.now();e.request.destination==="document"&&(e.controller.fullTimingInfo=s),e.controller.reportTimingSteps=()=>{if(e.request.url.protocol!=="https:")return;s.endTime=o;let a=t.cacheState,A=t.bodyInfo;t.timingAllowPassed||(s=$l(s),a="");let c=0;if(e.request.mode!=="navigator"||!t.hasCrossOriginRedirects){c=t.status;let u=DF(t.headersList);u!=="failure"&&(A.contentType=JF(u))}e.request.initiatorType!=null&&zf(s,e.request.url.href,e.request.initiatorType,globalThis,a,A,c)};let n=()=>{e.request.done=!0,e.processResponseEndOfBody!=null&&queueMicrotask(()=>e.processResponseEndOfBody(t)),e.request.initiatorType!=null&&e.controller.reportTimingSteps()};queueMicrotask(()=>n())};e.processResponse!=null&&queueMicrotask(()=>{e.processResponse(t),e.processResponse=null});let i=t.type==="error"?t:t.internalResponse??t;i.body==null?r():MF(i.body.stream,()=>{r()})}async function Xf(e){let t=e.request,s=null,r=null,i=e.timingInfo;if(t.serviceWorkers,s===null){if(t.redirect==="follow"&&(t.serviceWorkers="none"),r=s=await $f(e),t.responseTainting==="cors"&&dF(t,s)==="failure")return P("cors failure");cF(t,s)==="failure"&&(t.timingAllowFailed=!0)}return(t.responseTainting==="opaque"||s.type==="opaque")&&EF(t.origin,t.client,t.destination,r)==="blocked"?P("blocked"):(qf.has(r.status)&&(t.redirect!=="manual"&&e.controller.connection.destroy(void 0,!1),t.redirect==="error"?s=P("unexpected redirect"):t.redirect==="manual"?s=r:t.redirect==="follow"?s=await KF(e,s):Ls(!1)),s.timingInfo=i,s)}function KF(e,t){let s=e.request,r=t.internalResponse?t.internalResponse:t,i;try{if(i=uF(r,yt(s).hash),i==null)return t}catch(n){return Promise.resolve(P(n))}if(!eu(i))return Promise.resolve(P("URL scheme must be a HTTP(S) scheme"));if(s.redirectCount===20)return Promise.resolve(P("redirect count exceeded"));if(s.redirectCount+=1,s.mode==="cors"&&(i.username||i.password)&&!Xl(s,i))return Promise.resolve(P('cross origin not allowed for request mode "cors"'));if(s.responseTainting==="cors"&&(i.username||i.password))return Promise.resolve(P('URL cannot contain credentials for request mode "cors"'));if(r.status!==303&&s.body!=null&&s.body.source==null)return Promise.resolve(P());if([301,302].includes(r.status)&&s.method==="POST"||r.status===303&&!qF.includes(s.method)){s.method="GET",s.body=null;for(let n of FF)s.headersList.delete(n)}Xl(yt(s),i)||(s.headersList.delete("authorization",!0),s.headersList.delete("proxy-authorization",!0),s.headersList.delete("cookie",!0),s.headersList.delete("host",!0)),s.body!=null&&(Ls(s.body.source!=null),s.body=tu(s.body.source)[0]);let o=e.timingInfo;return o.redirectEndTime=o.postRedirectStartTime=Gi(e.crossOriginIsolatedCapability),o.redirectStartTime===0&&(o.redirectStartTime=o.startTime),s.urlList.push(i),pF(s,r),Kf(e,!0)}async function $f(e,t=!1,s=!1){let r=e.request,i=null,o=null,n=null,a=null,A=!1;r.window==="no-window"&&r.redirect==="error"?(i=e,o=r):(o=iF(r),i={...e},i.request=o);let c=r.credentials==="include"||r.credentials==="same-origin"&&r.responseTainting==="basic",u=o.body?o.body.length:null,l=null;if(o.body==null&&["POST","PUT"].includes(o.method)&&(l="0"),u!=null&&(l=Hn(`${u}`)),l!=null&&o.headersList.append("content-length",l,!0),u!=null&&o.keepalive,o.referrer instanceof URL&&o.headersList.append("referer",Hn(o.referrer.href),!0),lF(o),hF(o),o.headersList.contains("user-agent",!0)||o.headersList.append("user-agent",WF),o.cache==="default"&&(o.headersList.contains("if-modified-since",!0)||o.headersList.contains("if-none-match",!0)||o.headersList.contains("if-unmodified-since",!0)||o.headersList.contains("if-match",!0)||o.headersList.contains("if-range",!0))&&(o.cache="no-store"),o.cache==="no-cache"&&!o.preventNoCacheCacheControlHeaderModification&&!o.headersList.contains("cache-control",!0)&&o.headersList.append("cache-control","max-age=0",!0),(o.cache==="no-store"||o.cache==="reload")&&(o.headersList.contains("pragma",!0)||o.headersList.append("pragma","no-cache",!0),o.headersList.contains("cache-control",!0)||o.headersList.append("cache-control","no-cache",!0)),o.headersList.contains("range",!0)&&o.headersList.append("accept-encoding","identity",!0),o.headersList.contains("accept-encoding",!0)||(bF(yt(o))?o.headersList.append("accept-encoding","br, gzip, deflate",!0):o.headersList.append("accept-encoding","gzip, deflate",!0)),o.headersList.delete("host",!0),a==null&&(o.cache="no-store"),o.cache!=="no-store"&&o.cache,n==null){if(o.cache==="only-if-cached")return P("only if cached");let p=await XF(i,c,s);!TF.has(o.method)&&p.status>=200&&p.status<=399,A&&p.status,n==null&&(n=p)}if(n.urlList=[...o.urlList],o.headersList.contains("range",!0)&&(n.rangeRequested=!0),n.requestIncludesCredentials=c,n.status===407)return r.window==="no-window"?P():Ms(e)?Jn(e):P("proxy authentication required");if(n.status===421&&!s&&(r.body==null||r.body.source!=null)){if(Ms(e))return Jn(e);e.controller.connection.destroy(),n=await $f(e,t,!0)}return n}async function XF(e,t=!1,s=!1){Ls(!e.controller.connection||e.controller.connection.destroyed),e.controller.connection={abort:null,destroyed:!1,destroy(h,E=!0){this.destroyed||(this.destroyed=!0,E&&this.abort?.(h??new DOMException("The operation was aborted.","AbortError")))}};let r=e.request,i=null,o=e.timingInfo;null==null&&(r.cache="no-store");let a=s?"yes":"no";r.mode;let A=null;if(r.body==null&&e.processRequestEndOfBody)queueMicrotask(()=>e.processRequestEndOfBody());else if(r.body!=null){let h=async function*(d){Ms(e)||(yield d,e.processRequestBodyChunkLength?.(d.byteLength))},E=()=>{Ms(e)||e.processRequestEndOfBody&&e.processRequestEndOfBody()},f=d=>{Ms(e)||(d.name==="AbortError"?e.controller.abort():e.controller.terminate(d))};A=(async function*(){try{for await(let d of r.body.stream)yield*h(d);E()}catch(d){f(d)}})()}try{let{body:h,status:E,statusText:f,headersList:d,socket:m}=await g({body:A});if(m)i=Pn({status:E,statusText:f,headersList:d,socket:m});else{let C=h[Symbol.asyncIterator]();e.controller.next=()=>C.next(),i=Pn({status:E,statusText:f,headersList:d})}}catch(h){return h.name==="AbortError"?(e.controller.connection.destroy(),Jn(e,h)):P(h)}let c=async()=>{await e.controller.resume()},u=h=>{Ms(e)||e.controller.abort(h)},l=new ReadableStream({async start(h){e.controller.controller=h},async pull(h){await c(h)},async cancel(h){await u(h)},type:"bytes"});i.body={stream:l,source:null,length:null},e.controller.onAborted=p,e.controller.on("terminated",p),e.controller.resume=async()=>{for(;;){let h,E;try{let{done:d,value:m}=await e.controller.next();if(Of(e))break;h=d?void 0:m}catch(d){e.controller.ended&&!o.encodedBodySize?h=void 0:(h=d,E=!0)}if(h===void 0){IF(e.controller.controller),ZF(e,i);return}if(o.decodedBodySize+=h?.byteLength??0,E){e.controller.terminate(h);return}let f=new Uint8Array(h);if(f.byteLength&&e.controller.controller.enqueue(f),_F(l)){e.controller.terminate();return}if(e.controller.controller.desiredSize<=0)return}};function p(h){Of(e)?(i.aborted=!0,Vn(l)&&e.controller.controller.error(e.controller.serializedAbortReason)):Vn(l)&&e.controller.controller.error(new TypeError("terminated",{cause:BF(h)?h:void 0})),e.controller.connection.destroy()}return i;function g({body:h}){let E=yt(r),f=e.controller.dispatcher;return new Promise((d,m)=>f.dispatch({path:E.pathname+E.search,origin:E.origin,method:r.method,body:f.isMockActive?r.body&&(r.body.source||r.body.stream):h,headers:r.headersList.entries,maxRedirections:0,upgrade:r.mode==="websocket"?"websocket":void 0},{body:null,abort:null,onConnect(C){let{connection:B}=e.controller;o.finalConnectionTimingInfo=yF(void 0,o.postRedirectStartTime,e.crossOriginIsolatedCapability),B.destroyed?C(new DOMException("The operation was aborted.","AbortError")):(e.controller.on("terminated",C),this.abort=B.abort=C),o.finalNetworkRequestStartTime=Gi(e.crossOriginIsolatedCapability)},onResponseStarted(){o.finalNetworkResponseStartTime=Gi(e.crossOriginIsolatedCapability)},onHeaders(C,B,b,S){if(C<200)return;let G="",pe=new Yf;for(let xe=0;xehp)return m(new Error(`too many content-encodings in response: ${jt.length}, maximum allowed is ${hp}`)),!0;for(let Ka=jt.length-1;Ka>=0;--Ka){let Qo=jt[Ka].trim();if(Qo==="x-gzip"||Qo==="gzip")he.push(ls.createGunzip({flush:ls.constants.Z_SYNC_FLUSH,finishFlush:ls.constants.Z_SYNC_FLUSH}));else if(Qo==="deflate")he.push(kF({flush:ls.constants.Z_SYNC_FLUSH,finishFlush:ls.constants.Z_SYNC_FLUSH}));else if(Qo==="br")he.push(ls.createBrotliDecompress({flush:ls.constants.BROTLI_OPERATION_FLUSH,finishFlush:ls.constants.BROTLI_OPERATION_FLUSH}));else{he.length=0;break}}}let Wt=this.onError.bind(this);return d({status:C,statusText:S,headersList:pe,body:he.length?GF(this.body,...he,xe=>{xe&&this.onError(xe)}).on("error",Wt):this.body.on("error",Wt)}),!0},onData(C){if(e.controller.dump)return;let B=C;return o.encodedBodySize+=B.byteLength,this.body.push(B)},onComplete(){this.abort&&e.controller.off("terminated",this.abort),e.controller.onAborted&&e.controller.off("terminated",e.controller.onAborted),e.controller.ended=!0,this.body.push(null)},onError(C){this.abort&&e.controller.off("terminated",this.abort),this.body?.destroy(C),e.controller.terminate(C),m(C)},onUpgrade(C,B,b){if(C!==101)return;let S=new Yf;for(let G=0;G{"use strict";tQ.exports={kState:Symbol("FileReader state"),kResult:Symbol("FileReader result"),kError:Symbol("FileReader error"),kLastProgressEventFired:Symbol("FileReader last progress event fired timestamp"),kEvents:Symbol("FileReader events"),kAborted:Symbol("FileReader aborted")}});var rQ=Q((kY,sQ)=>{"use strict";var{webidl:Ye}=ge(),Wn=Symbol("ProgressEvent state"),ru=class e extends Event{constructor(t,s={}){t=Ye.converters.DOMString(t,"ProgressEvent constructor","type"),s=Ye.converters.ProgressEventInit(s??{}),super(t,s),this[Wn]={lengthComputable:s.lengthComputable,loaded:s.loaded,total:s.total}}get lengthComputable(){return Ye.brandCheck(this,e),this[Wn].lengthComputable}get loaded(){return Ye.brandCheck(this,e),this[Wn].loaded}get total(){return Ye.brandCheck(this,e),this[Wn].total}};Ye.converters.ProgressEventInit=Ye.dictionaryConverter([{key:"lengthComputable",converter:Ye.converters.boolean,defaultValue:()=>!1},{key:"loaded",converter:Ye.converters["unsigned long long"],defaultValue:()=>0},{key:"total",converter:Ye.converters["unsigned long long"],defaultValue:()=>0},{key:"bubbles",converter:Ye.converters.boolean,defaultValue:()=>!1},{key:"cancelable",converter:Ye.converters.boolean,defaultValue:()=>!1},{key:"composed",converter:Ye.converters.boolean,defaultValue:()=>!1}]);sQ.exports={ProgressEvent:ru}});var oQ=Q((DY,iQ)=>{"use strict";function $F(e){if(!e)return"failure";switch(e.trim().toLowerCase()){case"unicode-1-1-utf-8":case"unicode11utf8":case"unicode20utf8":case"utf-8":case"utf8":case"x-unicode20utf8":return"UTF-8";case"866":case"cp866":case"csibm866":case"ibm866":return"IBM866";case"csisolatin2":case"iso-8859-2":case"iso-ir-101":case"iso8859-2":case"iso88592":case"iso_8859-2":case"iso_8859-2:1987":case"l2":case"latin2":return"ISO-8859-2";case"csisolatin3":case"iso-8859-3":case"iso-ir-109":case"iso8859-3":case"iso88593":case"iso_8859-3":case"iso_8859-3:1988":case"l3":case"latin3":return"ISO-8859-3";case"csisolatin4":case"iso-8859-4":case"iso-ir-110":case"iso8859-4":case"iso88594":case"iso_8859-4":case"iso_8859-4:1988":case"l4":case"latin4":return"ISO-8859-4";case"csisolatincyrillic":case"cyrillic":case"iso-8859-5":case"iso-ir-144":case"iso8859-5":case"iso88595":case"iso_8859-5":case"iso_8859-5:1988":return"ISO-8859-5";case"arabic":case"asmo-708":case"csiso88596e":case"csiso88596i":case"csisolatinarabic":case"ecma-114":case"iso-8859-6":case"iso-8859-6-e":case"iso-8859-6-i":case"iso-ir-127":case"iso8859-6":case"iso88596":case"iso_8859-6":case"iso_8859-6:1987":return"ISO-8859-6";case"csisolatingreek":case"ecma-118":case"elot_928":case"greek":case"greek8":case"iso-8859-7":case"iso-ir-126":case"iso8859-7":case"iso88597":case"iso_8859-7":case"iso_8859-7:1987":case"sun_eu_greek":return"ISO-8859-7";case"csiso88598e":case"csisolatinhebrew":case"hebrew":case"iso-8859-8":case"iso-8859-8-e":case"iso-ir-138":case"iso8859-8":case"iso88598":case"iso_8859-8":case"iso_8859-8:1988":case"visual":return"ISO-8859-8";case"csiso88598i":case"iso-8859-8-i":case"logical":return"ISO-8859-8-I";case"csisolatin6":case"iso-8859-10":case"iso-ir-157":case"iso8859-10":case"iso885910":case"l6":case"latin6":return"ISO-8859-10";case"iso-8859-13":case"iso8859-13":case"iso885913":return"ISO-8859-13";case"iso-8859-14":case"iso8859-14":case"iso885914":return"ISO-8859-14";case"csisolatin9":case"iso-8859-15":case"iso8859-15":case"iso885915":case"iso_8859-15":case"l9":return"ISO-8859-15";case"iso-8859-16":return"ISO-8859-16";case"cskoi8r":case"koi":case"koi8":case"koi8-r":case"koi8_r":return"KOI8-R";case"koi8-ru":case"koi8-u":return"KOI8-U";case"csmacintosh":case"mac":case"macintosh":case"x-mac-roman":return"macintosh";case"iso-8859-11":case"iso8859-11":case"iso885911":case"tis-620":case"windows-874":return"windows-874";case"cp1250":case"windows-1250":case"x-cp1250":return"windows-1250";case"cp1251":case"windows-1251":case"x-cp1251":return"windows-1251";case"ansi_x3.4-1968":case"ascii":case"cp1252":case"cp819":case"csisolatin1":case"ibm819":case"iso-8859-1":case"iso-ir-100":case"iso8859-1":case"iso88591":case"iso_8859-1":case"iso_8859-1:1987":case"l1":case"latin1":case"us-ascii":case"windows-1252":case"x-cp1252":return"windows-1252";case"cp1253":case"windows-1253":case"x-cp1253":return"windows-1253";case"cp1254":case"csisolatin5":case"iso-8859-9":case"iso-ir-148":case"iso8859-9":case"iso88599":case"iso_8859-9":case"iso_8859-9:1989":case"l5":case"latin5":case"windows-1254":case"x-cp1254":return"windows-1254";case"cp1255":case"windows-1255":case"x-cp1255":return"windows-1255";case"cp1256":case"windows-1256":case"x-cp1256":return"windows-1256";case"cp1257":case"windows-1257":case"x-cp1257":return"windows-1257";case"cp1258":case"windows-1258":case"x-cp1258":return"windows-1258";case"x-mac-cyrillic":case"x-mac-ukrainian":return"x-mac-cyrillic";case"chinese":case"csgb2312":case"csiso58gb231280":case"gb2312":case"gb_2312":case"gb_2312-80":case"gbk":case"iso-ir-58":case"x-gbk":return"GBK";case"gb18030":return"gb18030";case"big5":case"big5-hkscs":case"cn-big5":case"csbig5":case"x-x-big5":return"Big5";case"cseucpkdfmtjapanese":case"euc-jp":case"x-euc-jp":return"EUC-JP";case"csiso2022jp":case"iso-2022-jp":return"ISO-2022-JP";case"csshiftjis":case"ms932":case"ms_kanji":case"shift-jis":case"shift_jis":case"sjis":case"windows-31j":case"x-sjis":return"Shift_JIS";case"cseuckr":case"csksc56011987":case"euc-kr":case"iso-ir-149":case"korean":case"ks_c_5601-1987":case"ks_c_5601-1989":case"ksc5601":case"ksc_5601":case"windows-949":return"EUC-KR";case"csiso2022kr":case"hz-gb-2312":case"iso-2022-cn":case"iso-2022-cn-ext":case"iso-2022-kr":case"replacement":return"replacement";case"unicodefffe":case"utf-16be":return"UTF-16BE";case"csunicode":case"iso-10646-ucs-2":case"ucs-2":case"unicode":case"unicodefeff":case"utf-16":case"utf-16le":return"UTF-16LE";case"x-user-defined":return"x-user-defined";default:return"failure"}}iQ.exports={getEncoding:$F}});var gQ=Q((RY,pQ)=>{"use strict";var{kState:Nr,kError:iu,kResult:nQ,kAborted:Li,kLastProgressEventFired:ou}=su(),{ProgressEvent:eS}=rQ(),{getEncoding:aQ}=oQ(),{serializeAMimeType:tS,parseMIMEType:AQ}=ve(),{types:sS}=require("node:util"),{StringDecoder:cQ}=require("string_decoder"),{btoa:lQ}=require("node:buffer"),rS={enumerable:!0,writable:!1,configurable:!1};function iS(e,t,s,r){if(e[Nr]==="loading")throw new DOMException("Invalid state","InvalidStateError");e[Nr]="loading",e[nQ]=null,e[iu]=null;let o=t.stream().getReader(),n=[],a=o.read(),A=!0;(async()=>{for(;!e[Li];)try{let{done:c,value:u}=await a;if(A&&!e[Li]&&queueMicrotask(()=>{us("loadstart",e)}),A=!1,!c&&sS.isUint8Array(u))n.push(u),(e[ou]===void 0||Date.now()-e[ou]>=50)&&!e[Li]&&(e[ou]=Date.now(),queueMicrotask(()=>{us("progress",e)})),a=o.read();else if(c){queueMicrotask(()=>{e[Nr]="done";try{let l=oS(n,s,t.type,r);if(e[Li])return;e[nQ]=l,us("load",e)}catch(l){e[iu]=l,us("error",e)}e[Nr]!=="loading"&&us("loadend",e)});break}}catch(c){if(e[Li])return;queueMicrotask(()=>{e[Nr]="done",e[iu]=c,us("error",e),e[Nr]!=="loading"&&us("loadend",e)});break}})()}function us(e,t){let s=new eS(e,{bubbles:!1,cancelable:!1});t.dispatchEvent(s)}function oS(e,t,s,r){switch(t){case"DataURL":{let i="data:",o=AQ(s||"application/octet-stream");o!=="failure"&&(i+=tS(o)),i+=";base64,";let n=new cQ("latin1");for(let a of e)i+=lQ(n.write(a));return i+=lQ(n.end()),i}case"Text":{let i="failure";if(r&&(i=aQ(r)),i==="failure"&&s){let o=AQ(s);o!=="failure"&&(i=aQ(o.parameters.get("charset")))}return i==="failure"&&(i="UTF-8"),nS(e,i)}case"ArrayBuffer":return uQ(e).buffer;case"BinaryString":{let i="",o=new cQ("latin1");for(let n of e)i+=o.write(n);return i+=o.end(),i}}}function nS(e,t){let s=uQ(e),r=aS(s),i=0;r!==null&&(t=r,i=r==="UTF-8"?3:2);let o=s.slice(i);return new TextDecoder(t).decode(o)}function aS(e){let[t,s,r]=e;return t===239&&s===187&&r===191?"UTF-8":t===254&&s===255?"UTF-16BE":t===255&&s===254?"UTF-16LE":null}function uQ(e){let t=e.reduce((r,i)=>r+i.byteLength,0),s=0;return e.reduce((r,i)=>(r.set(i,s),s+=i.byteLength,r),new Uint8Array(t))}pQ.exports={staticPropertyDescriptors:rS,readOperation:iS,fireAProgressEvent:us}});var mQ=Q((TY,EQ)=>{"use strict";var{staticPropertyDescriptors:Gr,readOperation:jn,fireAProgressEvent:hQ}=gQ(),{kState:_s,kError:dQ,kResult:zn,kEvents:O,kAborted:AS}=su(),{webidl:H}=ge(),{kEnumerableProperty:Re}=N(),lt=class e extends EventTarget{constructor(){super(),this[_s]="empty",this[zn]=null,this[dQ]=null,this[O]={loadend:null,error:null,abort:null,load:null,progress:null,loadstart:null}}readAsArrayBuffer(t){H.brandCheck(this,e),H.argumentLengthCheck(arguments,1,"FileReader.readAsArrayBuffer"),t=H.converters.Blob(t,{strict:!1}),jn(this,t,"ArrayBuffer")}readAsBinaryString(t){H.brandCheck(this,e),H.argumentLengthCheck(arguments,1,"FileReader.readAsBinaryString"),t=H.converters.Blob(t,{strict:!1}),jn(this,t,"BinaryString")}readAsText(t,s=void 0){H.brandCheck(this,e),H.argumentLengthCheck(arguments,1,"FileReader.readAsText"),t=H.converters.Blob(t,{strict:!1}),s!==void 0&&(s=H.converters.DOMString(s,"FileReader.readAsText","encoding")),jn(this,t,"Text",s)}readAsDataURL(t){H.brandCheck(this,e),H.argumentLengthCheck(arguments,1,"FileReader.readAsDataURL"),t=H.converters.Blob(t,{strict:!1}),jn(this,t,"DataURL")}abort(){if(this[_s]==="empty"||this[_s]==="done"){this[zn]=null;return}this[_s]==="loading"&&(this[_s]="done",this[zn]=null),this[AS]=!0,hQ("abort",this),this[_s]!=="loading"&&hQ("loadend",this)}get readyState(){switch(H.brandCheck(this,e),this[_s]){case"empty":return this.EMPTY;case"loading":return this.LOADING;case"done":return this.DONE}}get result(){return H.brandCheck(this,e),this[zn]}get error(){return H.brandCheck(this,e),this[dQ]}get onloadend(){return H.brandCheck(this,e),this[O].loadend}set onloadend(t){H.brandCheck(this,e),this[O].loadend&&this.removeEventListener("loadend",this[O].loadend),typeof t=="function"?(this[O].loadend=t,this.addEventListener("loadend",t)):this[O].loadend=null}get onerror(){return H.brandCheck(this,e),this[O].error}set onerror(t){H.brandCheck(this,e),this[O].error&&this.removeEventListener("error",this[O].error),typeof t=="function"?(this[O].error=t,this.addEventListener("error",t)):this[O].error=null}get onloadstart(){return H.brandCheck(this,e),this[O].loadstart}set onloadstart(t){H.brandCheck(this,e),this[O].loadstart&&this.removeEventListener("loadstart",this[O].loadstart),typeof t=="function"?(this[O].loadstart=t,this.addEventListener("loadstart",t)):this[O].loadstart=null}get onprogress(){return H.brandCheck(this,e),this[O].progress}set onprogress(t){H.brandCheck(this,e),this[O].progress&&this.removeEventListener("progress",this[O].progress),typeof t=="function"?(this[O].progress=t,this.addEventListener("progress",t)):this[O].progress=null}get onload(){return H.brandCheck(this,e),this[O].load}set onload(t){H.brandCheck(this,e),this[O].load&&this.removeEventListener("load",this[O].load),typeof t=="function"?(this[O].load=t,this.addEventListener("load",t)):this[O].load=null}get onabort(){return H.brandCheck(this,e),this[O].abort}set onabort(t){H.brandCheck(this,e),this[O].abort&&this.removeEventListener("abort",this[O].abort),typeof t=="function"?(this[O].abort=t,this.addEventListener("abort",t)):this[O].abort=null}};lt.EMPTY=lt.prototype.EMPTY=0;lt.LOADING=lt.prototype.LOADING=1;lt.DONE=lt.prototype.DONE=2;Object.defineProperties(lt.prototype,{EMPTY:Gr,LOADING:Gr,DONE:Gr,readAsArrayBuffer:Re,readAsBinaryString:Re,readAsText:Re,readAsDataURL:Re,abort:Re,readyState:Re,result:Re,error:Re,onloadstart:Re,onprogress:Re,onload:Re,onabort:Re,onerror:Re,onloadend:Re,[Symbol.toStringTag]:{value:"FileReader",writable:!1,enumerable:!1,configurable:!0}});Object.defineProperties(lt,{EMPTY:Gr,LOADING:Gr,DONE:Gr});EQ.exports={FileReader:lt}});var Zn=Q((FY,fQ)=>{"use strict";fQ.exports={kConstruct:j().kConstruct}});var CQ=Q((SY,BQ)=>{"use strict";var cS=require("node:assert"),{URLSerializer:QQ}=ve(),{isValidHeaderName:lS}=Ue();function uS(e,t,s=!1){let r=QQ(e,s),i=QQ(t,s);return r===i}function pS(e){cS(e!==null);let t=[];for(let s of e.split(","))s=s.trim(),lS(s)&&t.push(s);return t}BQ.exports={urlEquals:uS,getFieldValues:pS}});var bQ=Q((UY,wQ)=>{"use strict";var{kConstruct:gS}=Zn(),{urlEquals:hS,getFieldValues:nu}=CQ(),{kEnumerableProperty:Ys,isDisturbed:dS}=N(),{webidl:x}=ge(),{Response:ES,cloneResponse:mS,fromInnerResponse:fS}=Ni(),{Request:Ot,fromInnerRequest:QS}=Ur(),{kState:ut}=Kt(),{fetching:BS}=Mi(),{urlIsHttpHttpsScheme:Kn,createDeferredPromise:Mr,readAllBytes:CS}=Ue(),au=require("node:assert"),Xn=class e{#e;constructor(){arguments[0]!==gS&&x.illegalConstructor(),x.util.markAsUncloneable(this),this.#e=arguments[1]}async match(t,s={}){x.brandCheck(this,e);let r="Cache.match";x.argumentLengthCheck(arguments,1,r),t=x.converters.RequestInfo(t,r,"request"),s=x.converters.CacheQueryOptions(s,r,"options");let i=this.#r(t,s,1);if(i.length!==0)return i[0]}async matchAll(t=void 0,s={}){x.brandCheck(this,e);let r="Cache.matchAll";return t!==void 0&&(t=x.converters.RequestInfo(t,r,"request")),s=x.converters.CacheQueryOptions(s,r,"options"),this.#r(t,s)}async add(t){x.brandCheck(this,e);let s="Cache.add";x.argumentLengthCheck(arguments,1,s),t=x.converters.RequestInfo(t,s,"request");let r=[t];return await this.addAll(r)}async addAll(t){x.brandCheck(this,e);let s="Cache.addAll";x.argumentLengthCheck(arguments,1,s);let r=[],i=[];for(let p of t){if(p===void 0)throw x.errors.conversionFailed({prefix:s,argument:"Argument 1",types:["undefined is not allowed"]});if(p=x.converters.RequestInfo(p),typeof p=="string")continue;let g=p[ut];if(!Kn(g.url)||g.method!=="GET")throw x.errors.exception({header:s,message:"Expected http/s scheme when method is not GET."})}let o=[];for(let p of t){let g=new Ot(p)[ut];if(!Kn(g.url))throw x.errors.exception({header:s,message:"Expected http/s scheme."});g.initiator="fetch",g.destination="subresource",i.push(g);let h=Mr();o.push(BS({request:g,processResponse(E){if(E.type==="error"||E.status===206||E.status<200||E.status>299)h.reject(x.errors.exception({header:"Cache.addAll",message:"Received an invalid status code or the request failed."}));else if(E.headersList.contains("vary")){let f=nu(E.headersList.get("vary"));for(let d of f)if(d==="*"){h.reject(x.errors.exception({header:"Cache.addAll",message:"invalid vary field value"}));for(let m of o)m.abort();return}}},processResponseEndOfBody(E){if(E.aborted){h.reject(new DOMException("aborted","AbortError"));return}h.resolve(E)}})),r.push(h.promise)}let a=await Promise.all(r),A=[],c=0;for(let p of a){let g={type:"put",request:i[c],response:p};A.push(g),c++}let u=Mr(),l=null;try{this.#t(A)}catch(p){l=p}return queueMicrotask(()=>{l===null?u.resolve(void 0):u.reject(l)}),u.promise}async put(t,s){x.brandCheck(this,e);let r="Cache.put";x.argumentLengthCheck(arguments,2,r),t=x.converters.RequestInfo(t,r,"request"),s=x.converters.Response(s,r,"response");let i=null;if(t instanceof Ot?i=t[ut]:i=new Ot(t)[ut],!Kn(i.url)||i.method!=="GET")throw x.errors.exception({header:r,message:"Expected an http/s scheme when method is not GET"});let o=s[ut];if(o.status===206)throw x.errors.exception({header:r,message:"Got 206 status"});if(o.headersList.contains("vary")){let g=nu(o.headersList.get("vary"));for(let h of g)if(h==="*")throw x.errors.exception({header:r,message:"Got * vary field value"})}if(o.body&&(dS(o.body.stream)||o.body.stream.locked))throw x.errors.exception({header:r,message:"Response body is locked or disturbed"});let n=mS(o),a=Mr();if(o.body!=null){let h=o.body.stream.getReader();CS(h).then(a.resolve,a.reject)}else a.resolve(void 0);let A=[],c={type:"put",request:i,response:n};A.push(c);let u=await a.promise;n.body!=null&&(n.body.source=u);let l=Mr(),p=null;try{this.#t(A)}catch(g){p=g}return queueMicrotask(()=>{p===null?l.resolve():l.reject(p)}),l.promise}async delete(t,s={}){x.brandCheck(this,e);let r="Cache.delete";x.argumentLengthCheck(arguments,1,r),t=x.converters.RequestInfo(t,r,"request"),s=x.converters.CacheQueryOptions(s,r,"options");let i=null;if(t instanceof Ot){if(i=t[ut],i.method!=="GET"&&!s.ignoreMethod)return!1}else au(typeof t=="string"),i=new Ot(t)[ut];let o=[],n={type:"delete",request:i,options:s};o.push(n);let a=Mr(),A=null,c;try{c=this.#t(o)}catch(u){A=u}return queueMicrotask(()=>{A===null?a.resolve(!!c?.length):a.reject(A)}),a.promise}async keys(t=void 0,s={}){x.brandCheck(this,e);let r="Cache.keys";t!==void 0&&(t=x.converters.RequestInfo(t,r,"request")),s=x.converters.CacheQueryOptions(s,r,"options");let i=null;if(t!==void 0)if(t instanceof Ot){if(i=t[ut],i.method!=="GET"&&!s.ignoreMethod)return[]}else typeof t=="string"&&(i=new Ot(t)[ut]);let o=Mr(),n=[];if(t===void 0)for(let a of this.#e)n.push(a[0]);else{let a=this.#i(i,s);for(let A of a)n.push(A[0])}return queueMicrotask(()=>{let a=[];for(let A of n){let c=QS(A,new AbortController().signal,"immutable");a.push(c)}o.resolve(Object.freeze(a))}),o.promise}#t(t){let s=this.#e,r=[...s],i=[],o=[];try{for(let n of t){if(n.type!=="delete"&&n.type!=="put")throw x.errors.exception({header:"Cache.#batchCacheOperations",message:'operation type does not match "delete" or "put"'});if(n.type==="delete"&&n.response!=null)throw x.errors.exception({header:"Cache.#batchCacheOperations",message:"delete operation should not have an associated response"});if(this.#i(n.request,n.options,i).length)throw new DOMException("???","InvalidStateError");let a;if(n.type==="delete"){if(a=this.#i(n.request,n.options),a.length===0)return[];for(let A of a){let c=s.indexOf(A);au(c!==-1),s.splice(c,1)}}else if(n.type==="put"){if(n.response==null)throw x.errors.exception({header:"Cache.#batchCacheOperations",message:"put operation should have an associated response"});let A=n.request;if(!Kn(A.url))throw x.errors.exception({header:"Cache.#batchCacheOperations",message:"expected http or https scheme"});if(A.method!=="GET")throw x.errors.exception({header:"Cache.#batchCacheOperations",message:"not get method"});if(n.options!=null)throw x.errors.exception({header:"Cache.#batchCacheOperations",message:"options must not be defined"});a=this.#i(n.request);for(let c of a){let u=s.indexOf(c);au(u!==-1),s.splice(u,1)}s.push([n.request,n.response]),i.push([n.request,n.response])}o.push([n.request,n.response])}return o}catch(n){throw this.#e.length=0,this.#e=r,n}}#i(t,s,r){let i=[],o=r??this.#e;for(let n of o){let[a,A]=n;this.#s(t,a,A,s)&&i.push(n)}return i}#s(t,s,r=null,i){let o=new URL(t.url),n=new URL(s.url);if(i?.ignoreSearch&&(n.search="",o.search=""),!hS(o,n,!0))return!1;if(r==null||i?.ignoreVary||!r.headersList.contains("vary"))return!0;let a=nu(r.headersList.get("vary"));for(let A of a){if(A==="*")return!1;let c=s.headersList.get(A),u=t.headersList.get(A);if(c!==u)return!1}return!0}#r(t,s,r=1/0){let i=null;if(t!==void 0)if(t instanceof Ot){if(i=t[ut],i.method!=="GET"&&!s.ignoreMethod)return[]}else typeof t=="string"&&(i=new Ot(t)[ut]);let o=[];if(t===void 0)for(let a of this.#e)o.push(a[1]);else{let a=this.#i(i,s);for(let A of a)o.push(A[1])}let n=[];for(let a of o){let A=fS(a,"immutable");if(n.push(A.clone()),n.length>=r)break}return Object.freeze(n)}};Object.defineProperties(Xn.prototype,{[Symbol.toStringTag]:{value:"Cache",configurable:!0},match:Ys,matchAll:Ys,add:Ys,addAll:Ys,put:Ys,delete:Ys,keys:Ys});var IQ=[{key:"ignoreSearch",converter:x.converters.boolean,defaultValue:()=>!1},{key:"ignoreMethod",converter:x.converters.boolean,defaultValue:()=>!1},{key:"ignoreVary",converter:x.converters.boolean,defaultValue:()=>!1}];x.converters.CacheQueryOptions=x.dictionaryConverter(IQ);x.converters.MultiCacheQueryOptions=x.dictionaryConverter([...IQ,{key:"cacheName",converter:x.converters.DOMString}]);x.converters.Response=x.interfaceConverter(ES);x.converters["sequence"]=x.sequenceConverter(x.converters.RequestInfo);wQ.exports={Cache:Xn}});var xQ=Q((NY,yQ)=>{"use strict";var{kConstruct:_i}=Zn(),{Cache:$n}=bQ(),{webidl:fe}=ge(),{kEnumerableProperty:Yi}=N(),ea=class e{#e=new Map;constructor(){arguments[0]!==_i&&fe.illegalConstructor(),fe.util.markAsUncloneable(this)}async match(t,s={}){if(fe.brandCheck(this,e),fe.argumentLengthCheck(arguments,1,"CacheStorage.match"),t=fe.converters.RequestInfo(t),s=fe.converters.MultiCacheQueryOptions(s),s.cacheName!=null){if(this.#e.has(s.cacheName)){let r=this.#e.get(s.cacheName);return await new $n(_i,r).match(t,s)}}else for(let r of this.#e.values()){let o=await new $n(_i,r).match(t,s);if(o!==void 0)return o}}async has(t){fe.brandCheck(this,e);let s="CacheStorage.has";return fe.argumentLengthCheck(arguments,1,s),t=fe.converters.DOMString(t,s,"cacheName"),this.#e.has(t)}async open(t){fe.brandCheck(this,e);let s="CacheStorage.open";if(fe.argumentLengthCheck(arguments,1,s),t=fe.converters.DOMString(t,s,"cacheName"),this.#e.has(t)){let i=this.#e.get(t);return new $n(_i,i)}let r=[];return this.#e.set(t,r),new $n(_i,r)}async delete(t){fe.brandCheck(this,e);let s="CacheStorage.delete";return fe.argumentLengthCheck(arguments,1,s),t=fe.converters.DOMString(t,s,"cacheName"),this.#e.delete(t)}async keys(){return fe.brandCheck(this,e),[...this.#e.keys()]}};Object.defineProperties(ea.prototype,{[Symbol.toStringTag]:{value:"CacheStorage",configurable:!0},match:Yi,has:Yi,open:Yi,delete:Yi,keys:Yi});yQ.exports={CacheStorage:ea}});var kQ=Q((GY,vQ)=>{"use strict";vQ.exports={maxAttributeValueSize:1024,maxNameValuePairSize:4096}});var Au=Q((MY,SQ)=>{"use strict";function IS(e){for(let t=0;t=0&&s<=8||s>=10&&s<=31||s===127)return!0}return!1}function DQ(e){for(let t=0;t126||s===34||s===40||s===41||s===60||s===62||s===64||s===44||s===59||s===58||s===92||s===47||s===91||s===93||s===63||s===61||s===123||s===125)throw new Error("Invalid cookie name")}}function RQ(e){let t=e.length,s=0;if(e[0]==='"'){if(t===1||e[t-1]!=='"')throw new Error("Invalid cookie value");--t,++s}for(;s126||r===34||r===44||r===59||r===92)throw new Error("Invalid cookie value")}}function TQ(e){for(let t=0;tt.toString().padStart(2,"0"));function FQ(e){return typeof e=="number"&&(e=new Date(e)),`${bS[e.getUTCDay()]}, ${ta[e.getUTCDate()]} ${yS[e.getUTCMonth()]} ${e.getUTCFullYear()} ${ta[e.getUTCHours()]}:${ta[e.getUTCMinutes()]}:${ta[e.getUTCSeconds()]} GMT`}function xS(e){if(e<0)throw new Error("Invalid cookie max-age")}function vS(e){if(e.name.length===0)return null;DQ(e.name),RQ(e.value);let t=[`${e.name}=${e.value}`];e.name.startsWith("__Secure-")&&(e.secure=!0),e.name.startsWith("__Host-")&&(e.secure=!0,e.domain=null,e.path="/"),e.secure&&t.push("Secure"),e.httpOnly&&t.push("HttpOnly"),typeof e.maxAge=="number"&&(xS(e.maxAge),t.push(`Max-Age=${e.maxAge}`)),e.domain&&(wS(e.domain),t.push(`Domain=${e.domain}`)),e.path&&(TQ(e.path),t.push(`Path=${e.path}`)),e.expires&&e.expires.toString()!=="Invalid Date"&&t.push(`Expires=${FQ(e.expires)}`),e.sameSite&&t.push(`SameSite=${e.sameSite}`);for(let s of e.unparsed){if(!s.includes("="))throw new Error("Invalid unparsed");let[r,...i]=s.split("=");t.push(`${r.trim()}=${i.join("=")}`)}return t.join("; ")}SQ.exports={isCTLExcludingHtab:IS,validateCookieName:DQ,validateCookiePath:TQ,validateCookieValue:RQ,toIMFDate:FQ,stringify:vS}});var NQ=Q((LY,UQ)=>{"use strict";var{maxNameValuePairSize:kS,maxAttributeValueSize:DS}=kQ(),{isCTLExcludingHtab:RS}=Au(),{collectASequenceOfCodePointsFast:sa}=ve(),TS=require("node:assert");function FS(e){if(RS(e))return null;let t="",s="",r="",i="";if(e.includes(";")){let o={position:0};t=sa(";",e,o),s=e.slice(o.position)}else t=e;if(!t.includes("="))i=t;else{let o={position:0};r=sa("=",t,o),i=t.slice(o.position+1)}return r=r.trim(),i=i.trim(),r.length+i.length>kS?null:{name:r,value:i,...Lr(s)}}function Lr(e,t={}){if(e.length===0)return t;TS(e[0]===";"),e=e.slice(1);let s="";e.includes(";")?(s=sa(";",e,{position:0}),e=e.slice(s.length)):(s=e,e="");let r="",i="";if(s.includes("=")){let n={position:0};r=sa("=",s,n),i=s.slice(n.position+1)}else r=s;if(r=r.trim(),i=i.trim(),i.length>DS)return Lr(e,t);let o=r.toLowerCase();if(o==="expires"){let n=new Date(i);t.expires=n}else if(o==="max-age"){let n=i.charCodeAt(0);if((n<48||n>57)&&i[0]!=="-"||!/^\d+$/.test(i))return Lr(e,t);let a=Number(i);t.maxAge=a}else if(o==="domain"){let n=i;n[0]==="."&&(n=n.slice(1)),n=n.toLowerCase(),t.domain=n}else if(o==="path"){let n="";i.length===0||i[0]!=="/"?n="/":n=i,t.path=n}else if(o==="secure")t.secure=!0;else if(o==="httponly")t.httpOnly=!0;else if(o==="samesite"){let n="Default",a=i.toLowerCase();a.includes("none")&&(n="None"),a.includes("strict")&&(n="Strict"),a.includes("lax")&&(n="Lax"),t.sameSite=n}else t.unparsed??=[],t.unparsed.push(`${r}=${i}`);return Lr(e,t)}UQ.exports={parseSetCookie:FS,parseUnparsedAttributes:Lr}});var LQ=Q((_Y,MQ)=>{"use strict";var{parseSetCookie:SS}=NQ(),{stringify:US}=Au(),{webidl:L}=ge(),{Headers:ra}=Ns();function NS(e){L.argumentLengthCheck(arguments,1,"getCookies"),L.brandCheck(e,ra,{strict:!1});let t=e.get("cookie"),s={};if(!t)return s;for(let r of t.split(";")){let[i,...o]=r.split("=");s[i.trim()]=o.join("=")}return s}function GS(e,t,s){L.brandCheck(e,ra,{strict:!1});let r="deleteCookie";L.argumentLengthCheck(arguments,2,r),t=L.converters.DOMString(t,r,"name"),s=L.converters.DeleteCookieAttributes(s),GQ(e,{name:t,value:"",expires:new Date(0),...s})}function MS(e){L.argumentLengthCheck(arguments,1,"getSetCookies"),L.brandCheck(e,ra,{strict:!1});let t=e.getSetCookie();return t?t.map(s=>SS(s)):[]}function GQ(e,t){L.argumentLengthCheck(arguments,2,"setCookie"),L.brandCheck(e,ra,{strict:!1}),t=L.converters.Cookie(t);let s=US(t);s&&e.append("Set-Cookie",s)}L.converters.DeleteCookieAttributes=L.dictionaryConverter([{converter:L.nullableConverter(L.converters.DOMString),key:"path",defaultValue:()=>null},{converter:L.nullableConverter(L.converters.DOMString),key:"domain",defaultValue:()=>null}]);L.converters.Cookie=L.dictionaryConverter([{converter:L.converters.DOMString,key:"name"},{converter:L.converters.DOMString,key:"value"},{converter:L.nullableConverter(e=>typeof e=="number"?L.converters["unsigned long long"](e):new Date(e)),key:"expires",defaultValue:()=>null},{converter:L.nullableConverter(L.converters["long long"]),key:"maxAge",defaultValue:()=>null},{converter:L.nullableConverter(L.converters.DOMString),key:"domain",defaultValue:()=>null},{converter:L.nullableConverter(L.converters.DOMString),key:"path",defaultValue:()=>null},{converter:L.nullableConverter(L.converters.boolean),key:"secure",defaultValue:()=>null},{converter:L.nullableConverter(L.converters.boolean),key:"httpOnly",defaultValue:()=>null},{converter:L.converters.USVString,key:"sameSite",allowedValues:["Strict","Lax","None"]},{converter:L.sequenceConverter(L.converters.DOMString),key:"unparsed",defaultValue:()=>new Array(0)}]);MQ.exports={getCookies:NS,deleteCookie:GS,getSetCookies:MS,setCookie:GQ}});var Yr=Q((YY,YQ)=>{"use strict";var{webidl:y}=ge(),{kEnumerableProperty:Te}=N(),{kConstruct:_Q}=j(),{MessagePort:LS}=require("node:worker_threads"),_r=class e extends Event{#e;constructor(t,s={}){if(t===_Q){super(arguments[1],arguments[2]),y.util.markAsUncloneable(this);return}let r="MessageEvent constructor";y.argumentLengthCheck(arguments,1,r),t=y.converters.DOMString(t,r,"type"),s=y.converters.MessageEventInit(s,r,"eventInitDict"),super(t,s),this.#e=s,y.util.markAsUncloneable(this)}get data(){return y.brandCheck(this,e),this.#e.data}get origin(){return y.brandCheck(this,e),this.#e.origin}get lastEventId(){return y.brandCheck(this,e),this.#e.lastEventId}get source(){return y.brandCheck(this,e),this.#e.source}get ports(){return y.brandCheck(this,e),Object.isFrozen(this.#e.ports)||Object.freeze(this.#e.ports),this.#e.ports}initMessageEvent(t,s=!1,r=!1,i=null,o="",n="",a=null,A=[]){return y.brandCheck(this,e),y.argumentLengthCheck(arguments,1,"MessageEvent.initMessageEvent"),new e(t,{bubbles:s,cancelable:r,data:i,origin:o,lastEventId:n,source:a,ports:A})}static createFastMessageEvent(t,s){let r=new e(_Q,t,s);return r.#e=s,r.#e.data??=null,r.#e.origin??="",r.#e.lastEventId??="",r.#e.source??=null,r.#e.ports??=[],r}},{createFastMessageEvent:_S}=_r;delete _r.createFastMessageEvent;var ia=class e extends Event{#e;constructor(t,s={}){let r="CloseEvent constructor";y.argumentLengthCheck(arguments,1,r),t=y.converters.DOMString(t,r,"type"),s=y.converters.CloseEventInit(s),super(t,s),this.#e=s,y.util.markAsUncloneable(this)}get wasClean(){return y.brandCheck(this,e),this.#e.wasClean}get code(){return y.brandCheck(this,e),this.#e.code}get reason(){return y.brandCheck(this,e),this.#e.reason}},oa=class e extends Event{#e;constructor(t,s){let r="ErrorEvent constructor";y.argumentLengthCheck(arguments,1,r),super(t,s),y.util.markAsUncloneable(this),t=y.converters.DOMString(t,r,"type"),s=y.converters.ErrorEventInit(s??{}),this.#e=s}get message(){return y.brandCheck(this,e),this.#e.message}get filename(){return y.brandCheck(this,e),this.#e.filename}get lineno(){return y.brandCheck(this,e),this.#e.lineno}get colno(){return y.brandCheck(this,e),this.#e.colno}get error(){return y.brandCheck(this,e),this.#e.error}};Object.defineProperties(_r.prototype,{[Symbol.toStringTag]:{value:"MessageEvent",configurable:!0},data:Te,origin:Te,lastEventId:Te,source:Te,ports:Te,initMessageEvent:Te});Object.defineProperties(ia.prototype,{[Symbol.toStringTag]:{value:"CloseEvent",configurable:!0},reason:Te,code:Te,wasClean:Te});Object.defineProperties(oa.prototype,{[Symbol.toStringTag]:{value:"ErrorEvent",configurable:!0},message:Te,filename:Te,lineno:Te,colno:Te,error:Te});y.converters.MessagePort=y.interfaceConverter(LS);y.converters["sequence"]=y.sequenceConverter(y.converters.MessagePort);var cu=[{key:"bubbles",converter:y.converters.boolean,defaultValue:()=>!1},{key:"cancelable",converter:y.converters.boolean,defaultValue:()=>!1},{key:"composed",converter:y.converters.boolean,defaultValue:()=>!1}];y.converters.MessageEventInit=y.dictionaryConverter([...cu,{key:"data",converter:y.converters.any,defaultValue:()=>null},{key:"origin",converter:y.converters.USVString,defaultValue:()=>""},{key:"lastEventId",converter:y.converters.DOMString,defaultValue:()=>""},{key:"source",converter:y.nullableConverter(y.converters.MessagePort),defaultValue:()=>null},{key:"ports",converter:y.converters["sequence"],defaultValue:()=>new Array(0)}]);y.converters.CloseEventInit=y.dictionaryConverter([...cu,{key:"wasClean",converter:y.converters.boolean,defaultValue:()=>!1},{key:"code",converter:y.converters["unsigned short"],defaultValue:()=>0},{key:"reason",converter:y.converters.USVString,defaultValue:()=>""}]);y.converters.ErrorEventInit=y.dictionaryConverter([...cu,{key:"message",converter:y.converters.DOMString,defaultValue:()=>""},{key:"filename",converter:y.converters.USVString,defaultValue:()=>""},{key:"lineno",converter:y.converters["unsigned long"],defaultValue:()=>0},{key:"colno",converter:y.converters["unsigned long"],defaultValue:()=>0},{key:"error",converter:y.converters.any}]);YQ.exports={MessageEvent:_r,CloseEvent:ia,ErrorEvent:oa,createFastMessageEvent:_S}});var Os=Q((OY,OQ)=>{"use strict";var YS="258EAFA5-E914-47DA-95CA-C5AB0DC85B11",OS={enumerable:!0,writable:!1,configurable:!1},JS={CONNECTING:0,OPEN:1,CLOSING:2,CLOSED:3},PS={NOT_SENT:0,PROCESSING:1,SENT:2},HS={CONTINUATION:0,TEXT:1,BINARY:2,CLOSE:8,PING:9,PONG:10},VS=2**16-1,qS={INFO:0,PAYLOADLENGTH_16:2,PAYLOADLENGTH_64:3,READ_DATA:4},WS=Buffer.allocUnsafe(0),jS={string:1,typedArray:2,arrayBuffer:3,blob:4};OQ.exports={uid:YS,sentCloseFrameState:PS,staticPropertyDescriptors:OS,states:JS,opcodes:HS,maxUnsigned16Bit:VS,parserStates:qS,emptyBuffer:WS,sendHints:jS}});var Oi=Q((JY,JQ)=>{"use strict";JQ.exports={kWebSocketURL:Symbol("url"),kReadyState:Symbol("ready state"),kController:Symbol("controller"),kResponse:Symbol("response"),kBinaryType:Symbol("binary type"),kSentClose:Symbol("sent close"),kReceivedClose:Symbol("received close"),kByteParser:Symbol("byte parser")}});var Hi=Q((PY,KQ)=>{"use strict";var{kReadyState:Ji,kController:zS,kResponse:ZS,kBinaryType:KS,kWebSocketURL:XS}=Oi(),{states:Pi,opcodes:ps}=Os(),{ErrorEvent:$S,createFastMessageEvent:eU}=Yr(),{isUtf8:tU}=require("node:buffer"),{collectASequenceOfCodePointsFast:sU,removeHTTPWhitespace:PQ}=ve();function rU(e){return e[Ji]===Pi.CONNECTING}function iU(e){return e[Ji]===Pi.OPEN}function oU(e){return e[Ji]===Pi.CLOSING}function nU(e){return e[Ji]===Pi.CLOSED}function lu(e,t,s=(i,o)=>new Event(i,o),r={}){let i=s(e,r);t.dispatchEvent(i)}function aU(e,t,s){if(e[Ji]!==Pi.OPEN)return;let r;if(t===ps.TEXT)try{r=ZQ(s)}catch{VQ(e,"Received invalid UTF-8 in text frame.");return}else t===ps.BINARY&&(e[KS]==="blob"?r=new Blob([s]):r=AU(s));lu("message",e,eU,{origin:e[XS].origin,data:r})}function AU(e){return e.byteLength===e.buffer.byteLength?e.buffer:e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength)}function cU(e){if(e.length===0)return!1;for(let t=0;t126||s===34||s===40||s===41||s===44||s===47||s===58||s===59||s===60||s===61||s===62||s===63||s===64||s===91||s===92||s===93||s===123||s===125)return!1}return!0}function lU(e){return e>=1e3&&e<1015?e!==1004&&e!==1005&&e!==1006:e>=3e3&&e<=4999}function VQ(e,t){let{[zS]:s,[ZS]:r}=e;s.abort(),r?.socket&&!r.socket.destroyed&&r.socket.destroy(),t&&lu("error",e,(i,o)=>new $S(i,o),{error:new Error(t),message:t})}function qQ(e){return e===ps.CLOSE||e===ps.PING||e===ps.PONG}function WQ(e){return e===ps.CONTINUATION}function jQ(e){return e===ps.TEXT||e===ps.BINARY}function uU(e){return jQ(e)||WQ(e)||qQ(e)}function pU(e){let t={position:0},s=new Map;for(;t.position57)return!1}let t=Number.parseInt(e,10);return t>=8&&t<=15}var zQ=typeof process.versions.icu=="string",HQ=zQ?new TextDecoder("utf-8",{fatal:!0}):void 0,ZQ=zQ?HQ.decode.bind(HQ):function(e){if(tU(e))return e.toString("utf-8");throw new TypeError("Invalid utf-8 received.")};KQ.exports={isConnecting:rU,isEstablished:iU,isClosing:oU,isClosed:nU,fireEvent:lu,isValidSubprotocol:cU,isValidStatusCode:lU,failWebsocketConnection:VQ,websocketMessageReceived:aU,utf8Decode:ZQ,isControlFrame:qQ,isContinuationFrame:WQ,isTextBinaryFrame:jQ,isValidOpcode:uU,parseExtensions:pU,isValidClientWindowBits:gU}});var aa=Q((HY,XQ)=>{"use strict";var{maxUnsigned16Bit:hU}=Os(),na=16386,uu,Vi=null,Or=na;try{uu=require("node:crypto")}catch{uu={randomFillSync:function(t,s,r){for(let i=0;ihU?(n+=8,o=127):i>125&&(n+=2,o=126);let a=Buffer.allocUnsafe(i+n);a[0]=a[1]=0,a[0]|=128,a[0]=(a[0]&240)+t;a[n-4]=r[0],a[n-3]=r[1],a[n-2]=r[2],a[n-1]=r[3],a[1]=o,o===126?a.writeUInt16BE(i,2):o===127&&(a[2]=a[3]=0,a.writeUIntBE(i,4,6)),a[1]|=128;for(let A=0;A{"use strict";var{uid:EU,states:qi,sentCloseFrameState:Aa,emptyBuffer:mU,opcodes:fU}=Os(),{kReadyState:Wi,kSentClose:ca,kByteParser:eB,kReceivedClose:$Q,kResponse:tB}=Oi(),{fireEvent:QU,failWebsocketConnection:gs,isClosing:BU,isClosed:CU,isEstablished:IU,parseExtensions:wU}=Hi(),{channels:Jr}=$s(),{CloseEvent:bU}=Yr(),{makeRequest:yU}=Ur(),{fetching:xU}=Mi(),{Headers:vU,getHeadersList:kU}=Ns(),{getDecodeSplit:DU}=Ue(),{WebsocketFrameSend:RU}=aa(),gu;try{gu=require("node:crypto")}catch{}function TU(e,t,s,r,i,o){let n=e;n.protocol=e.protocol==="ws:"?"http:":"https:";let a=yU({urlList:[n],client:s,serviceWorkers:"none",referrer:"no-referrer",mode:"websocket",credentials:"include",cache:"no-store",redirect:"error"});if(o.headers){let l=kU(new vU(o.headers));a.headersList=l}let A=gu.randomBytes(16).toString("base64");a.headersList.append("sec-websocket-key",A),a.headersList.append("sec-websocket-version","13");for(let l of t)a.headersList.append("sec-websocket-protocol",l);return a.headersList.append("sec-websocket-extensions","permessage-deflate; client_max_window_bits"),xU({request:a,useParallelQueue:!0,dispatcher:o.dispatcher,processResponse(l){if(l.type==="error"||l.status!==101){gs(r,"Received network error or non-101 status code.");return}if(t.length!==0&&!l.headersList.get("Sec-WebSocket-Protocol")){gs(r,"Server did not respond with sent protocols.");return}if(l.headersList.get("Upgrade")?.toLowerCase()!=="websocket"){gs(r,'Server did not set Upgrade header to "websocket".');return}if(l.headersList.get("Connection")?.toLowerCase()!=="upgrade"){gs(r,'Server did not set Connection header to "upgrade".');return}let p=l.headersList.get("Sec-WebSocket-Accept"),g=gu.createHash("sha1").update(A+EU).digest("base64");if(p!==g){gs(r,"Incorrect hash received in Sec-WebSocket-Accept header.");return}let h=l.headersList.get("Sec-WebSocket-Extensions"),E;if(h!==null&&(E=wU(h),!E.has("permessage-deflate"))){gs(r,"Sec-WebSocket-Extensions header does not match.");return}let f=l.headersList.get("Sec-WebSocket-Protocol");if(f!==null&&!DU("sec-websocket-protocol",a.headersList).includes(f)){gs(r,"Protocol was not set in the opening handshake.");return}l.socket.on("data",sB),l.socket.on("close",rB),l.socket.on("error",iB),Jr.open.hasSubscribers&&Jr.open.publish({address:l.socket.address(),protocol:f,extensions:h}),i(l,E)}})}function FU(e,t,s,r){if(!(BU(e)||CU(e)))if(!IU(e))gs(e,"Connection was closed before it was established."),e[Wi]=qi.CLOSING;else if(e[ca]===Aa.NOT_SENT){e[ca]=Aa.PROCESSING;let i=new RU;t!==void 0&&s===void 0?(i.frameData=Buffer.allocUnsafe(2),i.frameData.writeUInt16BE(t,0)):t!==void 0&&s!==void 0?(i.frameData=Buffer.allocUnsafe(2+r),i.frameData.writeUInt16BE(t,0),i.frameData.write(s,2,"utf-8")):i.frameData=mU,e[tB].socket.write(i.createFrame(fU.CLOSE)),e[ca]=Aa.SENT,e[Wi]=qi.CLOSING}else e[Wi]=qi.CLOSING}function sB(e){this.ws[eB].write(e)||this.pause()}function rB(){let{ws:e}=this,{[tB]:t}=e;t.socket.off("data",sB),t.socket.off("close",rB),t.socket.off("error",iB);let s=e[ca]===Aa.SENT&&e[$Q],r=1005,i="",o=e[eB].closingInfo;o&&!o.error?(r=o.code??1005,i=o.reason):e[$Q]||(r=1006),e[Wi]=qi.CLOSED,QU("close",e,(n,a)=>new bU(n,a),{wasClean:s,code:r,reason:i}),Jr.close.hasSubscribers&&Jr.close.publish({websocket:e,code:r,reason:i})}function iB(e){let{ws:t}=this;t[Wi]=qi.CLOSING,Jr.socketError.hasSubscribers&&Jr.socketError.publish(e),this.destroy()}oB.exports={establishWebSocketConnection:TU,closeWebSocketConnection:FU}});var AB=Q((qY,aB)=>{"use strict";var{createInflateRaw:SU,Z_DEFAULT_WINDOWBITS:UU}=require("node:zlib"),{isValidClientWindowBits:NU}=Hi(),{MessageSizeExceededError:nB}=Y(),GU=Buffer.from([0,0,255,255]),la=Symbol("kBuffer"),ji=Symbol("kLength"),MU=4*1024*1024,du=class{#e;#t={};#i=!1;#s=null;constructor(t){this.#t.serverNoContextTakeover=t.has("server_no_context_takeover"),this.#t.serverMaxWindowBits=t.get("server_max_window_bits")}decompress(t,s,r){if(this.#i){r(new nB);return}if(!this.#e){let i=UU;if(this.#t.serverMaxWindowBits){if(!NU(this.#t.serverMaxWindowBits)){r(new Error("Invalid server_max_window_bits"));return}i=Number.parseInt(this.#t.serverMaxWindowBits)}try{this.#e=SU({windowBits:i})}catch(o){r(o);return}this.#e[la]=[],this.#e[ji]=0,this.#e.on("data",o=>{if(!this.#i){if(this.#e[ji]+=o.length,this.#e[ji]>MU){if(this.#i=!0,this.#e.removeAllListeners(),this.#e.destroy(),this.#e=null,this.#s){let n=this.#s;this.#s=null,n(new nB)}return}this.#e[la].push(o)}}),this.#e.on("error",o=>{this.#e=null,r(o)})}this.#s=r,this.#e.write(t),s&&this.#e.write(GU),this.#e.flush(()=>{if(this.#i||!this.#e)return;let i=Buffer.concat(this.#e[la],this.#e[ji]);this.#e[la].length=0,this.#e[ji]=0,this.#s=null,r(null,i)})}};aB.exports={PerMessageDeflate:du}});var fB=Q((WY,mB)=>{"use strict";var{Writable:LU}=require("node:stream"),_U=require("node:assert"),{parserStates:Fe,opcodes:Pr,states:YU,emptyBuffer:cB,sentCloseFrameState:lB}=Os(),{kReadyState:OU,kSentClose:uB,kResponse:pB,kReceivedClose:gB}=Oi(),{channels:ua}=$s(),{isValidStatusCode:JU,isValidOpcode:PU,failWebsocketConnection:Oe,websocketMessageReceived:hB,utf8Decode:HU,isControlFrame:dB,isTextBinaryFrame:Eu,isContinuationFrame:VU}=Hi(),{WebsocketFrameSend:EB}=aa(),{closeWebSocketConnection:qU}=hu(),{PerMessageDeflate:WU}=AB(),mu=class extends LU{#e=[];#t=0;#i=!1;#s=Fe.INFO;#r={};#A=[];#a;constructor(t,s){super(),this.ws=t,this.#a=s??new Map,this.#a.has("permessage-deflate")&&this.#a.set("permessage-deflate",new WU(s))}_write(t,s,r){this.#e.push(t),this.#t+=t.length,this.#i=!0,this.run(r)}run(t){for(;this.#i;)if(this.#s===Fe.INFO){if(this.#t<2)return t();let s=this.consume(2),r=(s[0]&128)!==0,i=s[0]&15,o=(s[1]&128)===128,n=!r&&i!==Pr.CONTINUATION,a=s[1]&127,A=s[0]&64,c=s[0]&32,u=s[0]&16;if(!PU(i))return Oe(this.ws,"Invalid opcode received"),t();if(o)return Oe(this.ws,"Frame cannot be masked"),t();if(A!==0&&!this.#a.has("permessage-deflate")){Oe(this.ws,"Expected RSV1 to be clear.");return}if(c!==0||u!==0){Oe(this.ws,"RSV1, RSV2, RSV3 must be clear");return}if(n&&!Eu(i)){Oe(this.ws,"Invalid frame type was fragmented.");return}if(Eu(i)&&this.#A.length>0){Oe(this.ws,"Expected continuation frame");return}if(this.#r.fragmented&&n){Oe(this.ws,"Fragmented frame exceeded 125 bytes.");return}if((a>125||n)&&dB(i)){Oe(this.ws,"Control frame either too large or fragmented");return}if(VU(i)&&this.#A.length===0&&!this.#r.compressed){Oe(this.ws,"Unexpected continuation frame");return}a<=125?(this.#r.payloadLength=a,this.#s=Fe.READ_DATA):a===126?this.#s=Fe.PAYLOADLENGTH_16:a===127&&(this.#s=Fe.PAYLOADLENGTH_64),Eu(i)&&(this.#r.binaryType=i,this.#r.compressed=A!==0),this.#r.opcode=i,this.#r.masked=o,this.#r.fin=r,this.#r.fragmented=n}else if(this.#s===Fe.PAYLOADLENGTH_16){if(this.#t<2)return t();let s=this.consume(2);this.#r.payloadLength=s.readUInt16BE(0),this.#s=Fe.READ_DATA}else if(this.#s===Fe.PAYLOADLENGTH_64){if(this.#t<8)return t();let s=this.consume(8),r=s.readUInt32BE(0),i=s.readUInt32BE(4);if(r!==0||i>2**31-1){Oe(this.ws,"Received payload length > 2^31 bytes.");return}this.#r.payloadLength=i,this.#s=Fe.READ_DATA}else if(this.#s===Fe.READ_DATA){if(this.#t{if(r){Oe(this.ws,r.message);return}if(this.#A.push(i),!this.#r.fin){this.#s=Fe.INFO,this.#i=!0,this.run(t);return}hB(this.ws,this.#r.binaryType,Buffer.concat(this.#A)),this.#i=!0,this.#s=Fe.INFO,this.#A.length=0,this.run(t)}),this.#i=!1;break}else{if(this.#A.push(s),!this.#r.fragmented&&this.#r.fin){let r=Buffer.concat(this.#A);hB(this.ws,this.#r.binaryType,r),this.#A.length=0}this.#s=Fe.INFO}}}consume(t){if(t>this.#t)throw new Error("Called consume() before buffers satiated.");if(t===0)return cB;if(this.#e[0].length===t)return this.#t-=this.#e[0].length,this.#e.shift();let s=Buffer.allocUnsafe(t),r=0;for(;r!==t;){let i=this.#e[0],{length:o}=i;if(o+r===t){s.set(this.#e.shift(),r);break}else if(o+r>t){s.set(i.subarray(0,t-r),r),this.#e[0]=i.subarray(t-r);break}else s.set(this.#e.shift(),r),r+=i.length}return this.#t-=t,s}parseCloseBody(t){_U(t.length!==1);let s;if(t.length>=2&&(s=t.readUInt16BE(0)),s!==void 0&&!JU(s))return{code:1002,reason:"Invalid status code",error:!0};let r=t.subarray(2);r[0]===239&&r[1]===187&&r[2]===191&&(r=r.subarray(3));try{r=HU(r)}catch{return{code:1007,reason:"Invalid UTF-8",error:!0}}return{code:s,reason:r,error:!1}}parseControlFrame(t){let{opcode:s,payloadLength:r}=this.#r;if(s===Pr.CLOSE){if(r===1)return Oe(this.ws,"Received close frame with a 1-byte body."),!1;if(this.#r.closeInfo=this.parseCloseBody(t),this.#r.closeInfo.error){let{code:i,reason:o}=this.#r.closeInfo;return qU(this.ws,i,o,o.length),Oe(this.ws,o),!1}if(this.ws[uB]!==lB.SENT){let i=cB;this.#r.closeInfo.code&&(i=Buffer.allocUnsafe(2),i.writeUInt16BE(this.#r.closeInfo.code,0));let o=new EB(i);this.ws[pB].socket.write(o.createFrame(Pr.CLOSE),n=>{n||(this.ws[uB]=lB.SENT)})}return this.ws[OU]=YU.CLOSING,this.ws[gB]=!0,!1}else if(s===Pr.PING){if(!this.ws[gB]){let i=new EB(t);this.ws[pB].socket.write(i.createFrame(Pr.PONG)),ua.ping.hasSubscribers&&ua.ping.publish({payload:t})}}else s===Pr.PONG&&ua.pong.hasSubscribers&&ua.pong.publish({payload:t});return!0}get closingInfo(){return this.#r.closeInfo}};mB.exports={ByteParser:mu}});var wB=Q((jY,IB)=>{"use strict";var{WebsocketFrameSend:jU}=aa(),{opcodes:QB,sendHints:Hr}=Os(),zU=vc(),BB=Buffer[Symbol.species],fu=class{#e=new zU;#t=!1;#i;constructor(t){this.#i=t}add(t,s,r){if(r!==Hr.blob){let o=CB(t,r);if(!this.#t)this.#i.write(o,s);else{let n={promise:null,callback:s,frame:o};this.#e.push(n)}return}let i={promise:t.arrayBuffer().then(o=>{i.promise=null,i.frame=CB(o,r)}),callback:s,frame:null};this.#e.push(i),this.#t||this.#s()}async#s(){this.#t=!0;let t=this.#e;for(;!t.isEmpty();){let s=t.shift();s.promise!==null&&await s.promise,this.#i.write(s.frame,s.callback),s.callback=s.frame=null}this.#t=!1}};function CB(e,t){return new jU(ZU(e,t)).createFrame(t===Hr.string?QB.TEXT:QB.BINARY)}function ZU(e,t){switch(t){case Hr.string:return Buffer.from(e);case Hr.arrayBuffer:case Hr.blob:return new BB(e);case Hr.typedArray:return new BB(e.buffer,e.byteOffset,e.byteLength)}}IB.exports={SendQueue:fu}});var FB=Q((zY,TB)=>{"use strict";var{webidl:T}=ge(),{URLSerializer:KU}=ve(),{environmentSettingsObject:bB}=Ue(),{staticPropertyDescriptors:hs,states:zi,sentCloseFrameState:XU,sendHints:pa}=Os(),{kWebSocketURL:yB,kReadyState:Qu,kController:$U,kBinaryType:ga,kResponse:xB,kSentClose:eN,kByteParser:tN}=Oi(),{isConnecting:sN,isEstablished:rN,isClosing:iN,isValidSubprotocol:oN,fireEvent:vB}=Hi(),{establishWebSocketConnection:nN,closeWebSocketConnection:kB}=hu(),{ByteParser:aN}=fB(),{kEnumerableProperty:Ke,isBlobLike:DB}=N(),{getGlobalDispatcher:AN}=kn(),{types:RB}=require("node:util"),{ErrorEvent:cN,CloseEvent:lN}=Yr(),{SendQueue:uN}=wB(),Je=class e extends EventTarget{#e={open:null,error:null,close:null,message:null};#t=0;#i="";#s="";#r;constructor(t,s=[]){super(),T.util.markAsUncloneable(this);let r="WebSocket constructor";T.argumentLengthCheck(arguments,1,r);let i=T.converters["DOMString or sequence or WebSocketInit"](s,r,"options");t=T.converters.USVString(t,r,"url"),s=i.protocols;let o=bB.settingsObject.baseUrl,n;try{n=new URL(t,o)}catch(A){throw new DOMException(A,"SyntaxError")}if(n.protocol==="http:"?n.protocol="ws:":n.protocol==="https:"&&(n.protocol="wss:"),n.protocol!=="ws:"&&n.protocol!=="wss:")throw new DOMException(`Expected a ws: or wss: protocol, got ${n.protocol}`,"SyntaxError");if(n.hash||n.href.endsWith("#"))throw new DOMException("Got fragment","SyntaxError");if(typeof s=="string"&&(s=[s]),s.length!==new Set(s.map(A=>A.toLowerCase())).size)throw new DOMException("Invalid Sec-WebSocket-Protocol value","SyntaxError");if(s.length>0&&!s.every(A=>oN(A)))throw new DOMException("Invalid Sec-WebSocket-Protocol value","SyntaxError");this[yB]=new URL(n.href);let a=bB.settingsObject;this[$U]=nN(n,s,a,this,(A,c)=>this.#A(A,c),i),this[Qu]=e.CONNECTING,this[eN]=XU.NOT_SENT,this[ga]="blob"}close(t=void 0,s=void 0){T.brandCheck(this,e);let r="WebSocket.close";if(t!==void 0&&(t=T.converters["unsigned short"](t,r,"code",{clamp:!0})),s!==void 0&&(s=T.converters.USVString(s,r,"reason")),t!==void 0&&t!==1e3&&(t<3e3||t>4999))throw new DOMException("invalid code","InvalidAccessError");let i=0;if(s!==void 0&&(i=Buffer.byteLength(s),i>123))throw new DOMException(`Reason must be less than 123 bytes; received ${i}`,"SyntaxError");kB(this,t,s,i)}send(t){T.brandCheck(this,e);let s="WebSocket.send";if(T.argumentLengthCheck(arguments,1,s),t=T.converters.WebSocketSendData(t,s,"data"),sN(this))throw new DOMException("Sent before connected.","InvalidStateError");if(!(!rN(this)||iN(this)))if(typeof t=="string"){let r=Buffer.byteLength(t);this.#t+=r,this.#r.add(t,()=>{this.#t-=r},pa.string)}else RB.isArrayBuffer(t)?(this.#t+=t.byteLength,this.#r.add(t,()=>{this.#t-=t.byteLength},pa.arrayBuffer)):ArrayBuffer.isView(t)?(this.#t+=t.byteLength,this.#r.add(t,()=>{this.#t-=t.byteLength},pa.typedArray)):DB(t)&&(this.#t+=t.size,this.#r.add(t,()=>{this.#t-=t.size},pa.blob))}get readyState(){return T.brandCheck(this,e),this[Qu]}get bufferedAmount(){return T.brandCheck(this,e),this.#t}get url(){return T.brandCheck(this,e),KU(this[yB])}get extensions(){return T.brandCheck(this,e),this.#s}get protocol(){return T.brandCheck(this,e),this.#i}get onopen(){return T.brandCheck(this,e),this.#e.open}set onopen(t){T.brandCheck(this,e),this.#e.open&&this.removeEventListener("open",this.#e.open),typeof t=="function"?(this.#e.open=t,this.addEventListener("open",t)):this.#e.open=null}get onerror(){return T.brandCheck(this,e),this.#e.error}set onerror(t){T.brandCheck(this,e),this.#e.error&&this.removeEventListener("error",this.#e.error),typeof t=="function"?(this.#e.error=t,this.addEventListener("error",t)):this.#e.error=null}get onclose(){return T.brandCheck(this,e),this.#e.close}set onclose(t){T.brandCheck(this,e),this.#e.close&&this.removeEventListener("close",this.#e.close),typeof t=="function"?(this.#e.close=t,this.addEventListener("close",t)):this.#e.close=null}get onmessage(){return T.brandCheck(this,e),this.#e.message}set onmessage(t){T.brandCheck(this,e),this.#e.message&&this.removeEventListener("message",this.#e.message),typeof t=="function"?(this.#e.message=t,this.addEventListener("message",t)):this.#e.message=null}get binaryType(){return T.brandCheck(this,e),this[ga]}set binaryType(t){T.brandCheck(this,e),t!=="blob"&&t!=="arraybuffer"?this[ga]="blob":this[ga]=t}#A(t,s){this[xB]=t;let r=new aN(this,s);r.on("drain",pN),r.on("error",gN.bind(this)),t.socket.ws=this,this[tN]=r,this.#r=new uN(t.socket),this[Qu]=zi.OPEN;let i=t.headersList.get("sec-websocket-extensions");i!==null&&(this.#s=i);let o=t.headersList.get("sec-websocket-protocol");o!==null&&(this.#i=o),vB("open",this)}};Je.CONNECTING=Je.prototype.CONNECTING=zi.CONNECTING;Je.OPEN=Je.prototype.OPEN=zi.OPEN;Je.CLOSING=Je.prototype.CLOSING=zi.CLOSING;Je.CLOSED=Je.prototype.CLOSED=zi.CLOSED;Object.defineProperties(Je.prototype,{CONNECTING:hs,OPEN:hs,CLOSING:hs,CLOSED:hs,url:Ke,readyState:Ke,bufferedAmount:Ke,onopen:Ke,onerror:Ke,onclose:Ke,close:Ke,onmessage:Ke,binaryType:Ke,send:Ke,extensions:Ke,protocol:Ke,[Symbol.toStringTag]:{value:"WebSocket",writable:!1,enumerable:!1,configurable:!0}});Object.defineProperties(Je,{CONNECTING:hs,OPEN:hs,CLOSING:hs,CLOSED:hs});T.converters["sequence"]=T.sequenceConverter(T.converters.DOMString);T.converters["DOMString or sequence"]=function(e,t,s){return T.util.Type(e)==="Object"&&Symbol.iterator in e?T.converters["sequence"](e):T.converters.DOMString(e,t,s)};T.converters.WebSocketInit=T.dictionaryConverter([{key:"protocols",converter:T.converters["DOMString or sequence"],defaultValue:()=>new Array(0)},{key:"dispatcher",converter:T.converters.any,defaultValue:()=>AN()},{key:"headers",converter:T.nullableConverter(T.converters.HeadersInit)}]);T.converters["DOMString or sequence or WebSocketInit"]=function(e){return T.util.Type(e)==="Object"&&!(Symbol.iterator in e)?T.converters.WebSocketInit(e):{protocols:T.converters["DOMString or sequence"](e)}};T.converters.WebSocketSendData=function(e){if(T.util.Type(e)==="Object"){if(DB(e))return T.converters.Blob(e,{strict:!1});if(ArrayBuffer.isView(e)||RB.isArrayBuffer(e))return T.converters.BufferSource(e)}return T.converters.USVString(e)};function pN(){this.ws[xB].socket.resume()}function gN(e){let t,s;e instanceof lN?(t=e.reason,s=e.code):t=e.message,vB("error",this,()=>new cN("error",{error:e,message:t})),kB(this,s)}TB.exports={WebSocket:Je}});var Bu=Q((ZY,SB)=>{"use strict";function hN(e){return e.indexOf("\0")===-1}function dN(e){if(e.length===0)return!1;for(let t=0;t57)return!1;return!0}function EN(e){return new Promise(t=>{setTimeout(t,e).unref()})}SB.exports={isValidLastEventId:hN,isASCIINumber:dN,delay:EN}});var MB=Q((KY,GB)=>{"use strict";var{Transform:mN}=require("node:stream"),{isASCIINumber:UB,isValidLastEventId:NB}=Bu(),Jt=[239,187,191],Cu=10,ha=13,fN=58,QN=32,Iu=class extends mN{state=null;checkBOM=!0;crlfCheck=!1;eventEndCheck=!1;buffer=null;pos=0;event={data:void 0,event:void 0,id:void 0,retry:void 0};constructor(t={}){t.readableObjectMode=!0,super(t),this.state=t.eventSourceSettings||{},t.push&&(this.push=t.push)}_transform(t,s,r){if(t.length===0){r();return}if(this.buffer?this.buffer=Buffer.concat([this.buffer,t]):this.buffer=t,this.checkBOM)switch(this.buffer.length){case 1:if(this.buffer[0]===Jt[0]){r();return}this.checkBOM=!1,r();return;case 2:if(this.buffer[0]===Jt[0]&&this.buffer[1]===Jt[1]){r();return}this.checkBOM=!1;break;case 3:if(this.buffer[0]===Jt[0]&&this.buffer[1]===Jt[1]&&this.buffer[2]===Jt[2]){this.buffer=Buffer.alloc(0),this.checkBOM=!1,r();return}this.checkBOM=!1;break;default:this.buffer[0]===Jt[0]&&this.buffer[1]===Jt[1]&&this.buffer[2]===Jt[2]&&(this.buffer=this.buffer.subarray(3)),this.checkBOM=!1;break}for(;this.pos0&&(s[i]=o);break}}processEvent(t){t.retry&&UB(t.retry)&&(this.state.reconnectionTime=parseInt(t.retry,10)),t.id&&NB(t.id)&&(this.state.lastEventId=t.id),t.data!==void 0&&this.push({type:t.event||"message",options:{data:t.data,lastEventId:this.state.lastEventId,origin:this.state.origin}})}clearEvent(){this.event={data:void 0,event:void 0,id:void 0,retry:void 0}}};GB.exports={EventSourceStream:Iu}});var VB=Q((XY,HB)=>{"use strict";var{pipeline:BN}=require("node:stream"),{fetching:CN}=Mi(),{makeRequest:IN}=Ur(),{webidl:Pt}=ge(),{EventSourceStream:wN}=MB(),{parseMIMEType:bN}=ve(),{createFastMessageEvent:yN}=Yr(),{isNetworkError:LB}=Ni(),{delay:xN}=Bu(),{kEnumerableProperty:Js}=N(),{environmentSettingsObject:_B}=Ue(),YB=!1,OB=3e3,Zi=0,JB=1,Ki=2,vN="anonymous",kN="use-credentials",Vr=class e extends EventTarget{#e={open:null,error:null,message:null};#t=null;#i=!1;#s=Zi;#r=null;#A=null;#a;#c;constructor(t,s={}){super(),Pt.util.markAsUncloneable(this);let r="EventSource constructor";Pt.argumentLengthCheck(arguments,1,r),YB||(YB=!0,process.emitWarning("EventSource is experimental, expect them to change at any time.",{code:"UNDICI-ES"})),t=Pt.converters.USVString(t,r,"url"),s=Pt.converters.EventSourceInitDict(s,r,"eventSourceInitDict"),this.#a=s.dispatcher,this.#c={lastEventId:"",reconnectionTime:OB};let i=_B,o;try{o=new URL(t,i.settingsObject.baseUrl),this.#c.origin=o.origin}catch(A){throw new DOMException(A,"SyntaxError")}this.#t=o.href;let n=vN;s.withCredentials&&(n=kN,this.#i=!0);let a={redirect:"follow",keepalive:!0,mode:"cors",credentials:n==="anonymous"?"same-origin":"omit",referrer:"no-referrer"};a.client=_B.settingsObject,a.headersList=[["accept",{name:"accept",value:"text/event-stream"}]],a.cache="no-store",a.initiator="other",a.urlList=[new URL(this.#t)],this.#r=IN(a),this.#l()}get readyState(){return this.#s}get url(){return this.#t}get withCredentials(){return this.#i}#l(){if(this.#s===Ki)return;this.#s=Zi;let t={request:this.#r,dispatcher:this.#a},s=r=>{LB(r)&&(this.dispatchEvent(new Event("error")),this.close()),this.#g()};t.processResponseEndOfBody=s,t.processResponse=r=>{if(LB(r))if(r.aborted){this.close(),this.dispatchEvent(new Event("error"));return}else{this.#g();return}let i=r.headersList.get("content-type",!0),o=i!==null?bN(i):"failure",n=o!=="failure"&&o.essence==="text/event-stream";if(r.status!==200||n===!1){this.close(),this.dispatchEvent(new Event("error"));return}this.#s=JB,this.dispatchEvent(new Event("open")),this.#c.origin=r.urlList[r.urlList.length-1].origin;let a=new wN({eventSourceSettings:this.#c,push:A=>{this.dispatchEvent(yN(A.type,A.options))}});BN(r.body.stream,a,A=>{A?.aborted===!1&&(this.close(),this.dispatchEvent(new Event("error")))})},this.#A=CN(t)}async#g(){this.#s!==Ki&&(this.#s=Zi,this.dispatchEvent(new Event("error")),await xN(this.#c.reconnectionTime),this.#s===Zi&&(this.#c.lastEventId.length&&this.#r.headersList.set("last-event-id",this.#c.lastEventId,!0),this.#l()))}close(){Pt.brandCheck(this,e),this.#s!==Ki&&(this.#s=Ki,this.#A.abort(),this.#r=null)}get onopen(){return this.#e.open}set onopen(t){this.#e.open&&this.removeEventListener("open",this.#e.open),typeof t=="function"?(this.#e.open=t,this.addEventListener("open",t)):this.#e.open=null}get onmessage(){return this.#e.message}set onmessage(t){this.#e.message&&this.removeEventListener("message",this.#e.message),typeof t=="function"?(this.#e.message=t,this.addEventListener("message",t)):this.#e.message=null}get onerror(){return this.#e.error}set onerror(t){this.#e.error&&this.removeEventListener("error",this.#e.error),typeof t=="function"?(this.#e.error=t,this.addEventListener("error",t)):this.#e.error=null}},PB={CONNECTING:{__proto__:null,configurable:!1,enumerable:!0,value:Zi,writable:!1},OPEN:{__proto__:null,configurable:!1,enumerable:!0,value:JB,writable:!1},CLOSED:{__proto__:null,configurable:!1,enumerable:!0,value:Ki,writable:!1}};Object.defineProperties(Vr,PB);Object.defineProperties(Vr.prototype,PB);Object.defineProperties(Vr.prototype,{close:Js,onerror:Js,onmessage:Js,onopen:Js,readyState:Js,url:Js,withCredentials:Js});Pt.converters.EventSourceInitDict=Pt.dictionaryConverter([{key:"withCredentials",converter:Pt.converters.boolean,defaultValue:()=>!1},{key:"dispatcher",converter:Pt.converters.any}]);HB.exports={EventSource:Vr,defaultReconnectionTime:OB}});var ma=Q(($Y,R)=>{"use strict";var DN=Qr(),qB=ti(),RN=Br(),TN=Jd(),FN=Cr(),SN=Wc(),UN=pE(),NN=fE(),WB=Y(),Ea=N(),{InvalidArgumentError:da}=WB,qr=im(),GN=ri(),MN=kl(),LN=Ym(),_N=Tl(),YN=dl(),ON=fn(),{getGlobalDispatcher:jB,setGlobalDispatcher:JN}=kn(),PN=Dn(),HN=an(),VN=An();Object.assign(qB.prototype,qr);R.exports.Dispatcher=qB;R.exports.Client=DN;R.exports.Pool=RN;R.exports.BalancedPool=TN;R.exports.Agent=FN;R.exports.ProxyAgent=SN;R.exports.EnvHttpProxyAgent=UN;R.exports.RetryAgent=NN;R.exports.RetryHandler=ON;R.exports.DecoratorHandler=PN;R.exports.RedirectHandler=HN;R.exports.createRedirectInterceptor=VN;R.exports.interceptors={redirect:Wm(),retry:zm(),dump:Km(),dns:ef()};R.exports.buildConnector=GN;R.exports.errors=WB;R.exports.util={parseHeaders:Ea.parseHeaders,headerNameToString:Ea.headerNameToString};function Xi(e){return(t,s,r)=>{if(typeof s=="function"&&(r=s,s=null),!t||typeof t!="string"&&typeof t!="object"&&!(t instanceof URL))throw new da("invalid url");if(s!=null&&typeof s!="object")throw new da("invalid opts");if(s&&s.path!=null){if(typeof s.path!="string")throw new da("invalid opts.path");let n=s.path;s.path.startsWith("/")||(n=`/${n}`),t=new URL(Ea.parseOrigin(t).origin+n)}else s||(s=typeof t=="object"?t:{}),t=Ea.parseURL(t);let{agent:i,dispatcher:o=jB()}=s;if(i)throw new da("unsupported opts.agent. Did you mean opts.client?");return e.call(o,{...s,origin:t.origin,path:t.search?`${t.pathname}${t.search}`:t.pathname,method:s.method||(s.body?"PUT":"GET")},r)}}R.exports.setGlobalDispatcher=JN;R.exports.getGlobalDispatcher=jB;var qN=Mi().fetch;R.exports.fetch=async function(t,s=void 0){try{return await qN(t,s)}catch(r){throw r&&typeof r=="object"&&Error.captureStackTrace(r),r}};R.exports.Headers=Ns().Headers;R.exports.Response=Ni().Response;R.exports.Request=Ur().Request;R.exports.FormData=li().FormData;R.exports.File=globalThis.File??require("node:buffer").File;R.exports.FileReader=mQ().FileReader;var{setGlobalOrigin:WN,getGlobalOrigin:jN}=jA();R.exports.setGlobalOrigin=WN;R.exports.getGlobalOrigin=jN;var{CacheStorage:zN}=xQ(),{kConstruct:ZN}=Zn();R.exports.caches=new zN(ZN);var{deleteCookie:KN,getCookies:XN,getSetCookies:$N,setCookie:eG}=LQ();R.exports.deleteCookie=KN;R.exports.getCookies=XN;R.exports.getSetCookies=$N;R.exports.setCookie=eG;var{parseMIMEType:tG,serializeAMimeType:sG}=ve();R.exports.parseMIMEType=tG;R.exports.serializeAMimeType=sG;var{CloseEvent:rG,ErrorEvent:iG,MessageEvent:oG}=Yr();R.exports.WebSocket=FB().WebSocket;R.exports.CloseEvent=rG;R.exports.ErrorEvent=iG;R.exports.MessageEvent=oG;R.exports.request=Xi(qr.request);R.exports.stream=Xi(qr.stream);R.exports.pipeline=Xi(qr.pipeline);R.exports.connect=Xi(qr.connect);R.exports.upgrade=Xi(qr.upgrade);R.exports.MockClient=MN;R.exports.MockPool=_N;R.exports.MockAgent=LN;R.exports.mockErrors=YN;var{EventSource:nG}=VB();R.exports.EventSource=nG});var oC=Q(Ia=>{"use strict";Object.defineProperty(Ia,"__esModule",{value:!0});Ia.getProxyUrl=DG;Ia.checkBypass=iC;function DG(e){let t=e.protocol==="https:";if(iC(e))return;let s=t?process.env.https_proxy||process.env.HTTPS_PROXY:process.env.http_proxy||process.env.HTTP_PROXY;if(s)try{return new Ca(s)}catch{if(!s.startsWith("http://")&&!s.startsWith("https://"))return new Ca(`http://${s}`)}else return}function iC(e){if(!e.hostname)return!1;let t=e.hostname;if(RG(t))return!0;let s=process.env.no_proxy||process.env.NO_PROXY||"";if(!s)return!1;let r;e.port?r=Number(e.port):e.protocol==="http:"?r=80:e.protocol==="https:"&&(r=443);let i=[e.hostname.toUpperCase()];typeof r=="number"&&i.push(`${i[0]}:${r}`);for(let o of s.split(",").map(n=>n.trim().toUpperCase()).filter(n=>n))if(o==="*"||i.some(n=>n===o||n.endsWith(`.${o}`)||o.startsWith(".")&&n.endsWith(`${o}`)))return!0;return!1}function RG(e){let t=e.toLowerCase();return t==="localhost"||t.startsWith("127.")||t.startsWith("[::1]")||t.startsWith("[0:0:0:0:0:0:0:1]")}var Ca=class extends URL{constructor(t,s){super(t,s),this._decodedUsername=decodeURIComponent(super.username),this._decodedPassword=decodeURIComponent(super.password)}get username(){return this._decodedUsername}get password(){return this._decodedPassword}}});var aC=Q(K=>{"use strict";var TG=K&&K.__createBinding||(Object.create?(function(e,t,s,r){r===void 0&&(r=s);var i=Object.getOwnPropertyDescriptor(t,s);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[s]}}),Object.defineProperty(e,r,i)}):(function(e,t,s,r){r===void 0&&(r=s),e[r]=t[s]})),FG=K&&K.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),xa=K&&K.__importStar||(function(){var e=function(t){return e=Object.getOwnPropertyNames||function(s){var r=[];for(var i in s)Object.prototype.hasOwnProperty.call(s,i)&&(r[r.length]=i);return r},e(t)};return function(t){if(t&&t.__esModule)return t;var s={};if(t!=null)for(var r=e(t),i=0;ite(this,void 0,void 0,function*(){let s=Buffer.alloc(0);this.message.on("data",r=>{s=Buffer.concat([s,r])}),this.message.on("end",()=>{t(s.toString())})}))})}readBodyBuffer(){return te(this,void 0,void 0,function*(){return new Promise(t=>te(this,void 0,void 0,function*(){let s=[];this.message.on("data",r=>{s.push(r)}),this.message.on("end",()=>{t(Buffer.concat(s))})}))})}};K.HttpClientResponse=ya;function YG(e){return new URL(e).protocol==="https:"}var Du=class{constructor(t,s,r){this._ignoreSslError=!1,this._allowRedirects=!0,this._allowRedirectDowngrade=!1,this._maxRedirects=50,this._allowRetries=!1,this._maxRetries=1,this._keepAlive=!1,this._disposed=!1,this.userAgent=this._getUserAgentWithOrchestrationId(t),this.handlers=s||[],this.requestOptions=r,r&&(r.ignoreSslError!=null&&(this._ignoreSslError=r.ignoreSslError),this._socketTimeout=r.socketTimeout,r.allowRedirects!=null&&(this._allowRedirects=r.allowRedirects),r.allowRedirectDowngrade!=null&&(this._allowRedirectDowngrade=r.allowRedirectDowngrade),r.maxRedirects!=null&&(this._maxRedirects=Math.max(r.maxRedirects,0)),r.keepAlive!=null&&(this._keepAlive=r.keepAlive),r.allowRetries!=null&&(this._allowRetries=r.allowRetries),r.maxRetries!=null&&(this._maxRetries=r.maxRetries))}options(t,s){return te(this,void 0,void 0,function*(){return this.request("OPTIONS",t,null,s||{})})}get(t,s){return te(this,void 0,void 0,function*(){return this.request("GET",t,null,s||{})})}del(t,s){return te(this,void 0,void 0,function*(){return this.request("DELETE",t,null,s||{})})}post(t,s,r){return te(this,void 0,void 0,function*(){return this.request("POST",t,s,r||{})})}patch(t,s,r){return te(this,void 0,void 0,function*(){return this.request("PATCH",t,s,r||{})})}put(t,s,r){return te(this,void 0,void 0,function*(){return this.request("PUT",t,s,r||{})})}head(t,s){return te(this,void 0,void 0,function*(){return this.request("HEAD",t,null,s||{})})}sendStream(t,s,r,i){return te(this,void 0,void 0,function*(){return this.request(t,s,r,i)})}getJson(t){return te(this,arguments,void 0,function*(s,r={}){r[Ie.Accept]=this._getExistingOrDefaultHeader(r,Ie.Accept,Ht.ApplicationJson);let i=yield this.get(s,r);return this._processResponse(i,this.requestOptions)})}postJson(t,s){return te(this,arguments,void 0,function*(r,i,o={}){let n=JSON.stringify(i,null,2);o[Ie.Accept]=this._getExistingOrDefaultHeader(o,Ie.Accept,Ht.ApplicationJson),o[Ie.ContentType]=this._getExistingOrDefaultContentTypeHeader(o,Ht.ApplicationJson);let a=yield this.post(r,n,o);return this._processResponse(a,this.requestOptions)})}putJson(t,s){return te(this,arguments,void 0,function*(r,i,o={}){let n=JSON.stringify(i,null,2);o[Ie.Accept]=this._getExistingOrDefaultHeader(o,Ie.Accept,Ht.ApplicationJson),o[Ie.ContentType]=this._getExistingOrDefaultContentTypeHeader(o,Ht.ApplicationJson);let a=yield this.put(r,n,o);return this._processResponse(a,this.requestOptions)})}patchJson(t,s){return te(this,arguments,void 0,function*(r,i,o={}){let n=JSON.stringify(i,null,2);o[Ie.Accept]=this._getExistingOrDefaultHeader(o,Ie.Accept,Ht.ApplicationJson),o[Ie.ContentType]=this._getExistingOrDefaultContentTypeHeader(o,Ht.ApplicationJson);let a=yield this.patch(r,n,o);return this._processResponse(a,this.requestOptions)})}request(t,s,r,i){return te(this,void 0,void 0,function*(){if(this._disposed)throw new Error("Client has already been disposed.");let o=new URL(s),n=this._prepareRequest(t,o,i),a=this._allowRetries&&MG.includes(t)?this._maxRetries+1:1,A=0,c;do{if(c=yield this.requestRaw(n,r),c&&c.message&&c.message.statusCode===Xe.Unauthorized){let l;for(let p of this.handlers)if(p.canHandleAuthentication(c)){l=p;break}return l?l.handleAuthentication(this,n,r):c}let u=this._maxRedirects;for(;c.message.statusCode&&NG.includes(c.message.statusCode)&&this._allowRedirects&&u>0;){let l=c.message.headers.location;if(!l)break;let p=new URL(l);if(o.protocol==="https:"&&o.protocol!==p.protocol&&!this._allowRedirectDowngrade)throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.");if(yield c.readBody(),p.hostname!==o.hostname)for(let g in i)g.toLowerCase()==="authorization"&&delete i[g];n=this._prepareRequest(t,p,i),c=yield this.requestRaw(n,r),u--}if(!c.message.statusCode||!GG.includes(c.message.statusCode))return c;A+=1,A{function o(n,a){n?i(n):a?r(a):i(new Error("Unknown error"))}this.requestRawWithCallback(t,s,o)})})}requestRawWithCallback(t,s,r){typeof s=="string"&&(t.options.headers||(t.options.headers={}),t.options.headers["Content-Length"]=Buffer.byteLength(s,"utf8"));let i=!1;function o(A,c){i||(i=!0,r(A,c))}let n=t.httpModule.request(t.options,A=>{let c=new ya(A);o(void 0,c)}),a;n.on("socket",A=>{a=A}),n.setTimeout(this._socketTimeout||3*6e4,()=>{a&&a.end(),o(new Error(`Request timeout: ${t.options.path}`))}),n.on("error",function(A){o(A)}),s&&typeof s=="string"&&n.write(s,"utf8"),s&&typeof s!="string"?(s.on("close",function(){n.end()}),s.pipe(n)):n.end()}getAgent(t){let s=new URL(t);return this._getAgent(s)}getAgentDispatcher(t){let s=new URL(t),r=ku.getProxyUrl(s);if(r&&r.hostname)return this._getProxyAgentDispatcher(s,r)}_prepareRequest(t,s,r){let i={};i.parsedUrl=s;let o=i.parsedUrl.protocol==="https:";i.httpModule=o?nC:vu;let n=o?443:80;if(i.options={},i.options.host=i.parsedUrl.hostname,i.options.port=i.parsedUrl.port?parseInt(i.parsedUrl.port):n,i.options.path=(i.parsedUrl.pathname||"")+(i.parsedUrl.search||""),i.options.method=t,i.options.headers=this._mergeHeaders(r),this.userAgent!=null&&(i.options.headers["user-agent"]=this.userAgent),i.options.agent=this._getAgent(i.parsedUrl),this.handlers)for(let a of this.handlers)a.prepareRequest(i.options);return i}_mergeHeaders(t){return this.requestOptions&&this.requestOptions.headers?Object.assign({},to(this.requestOptions.headers),to(t||{})):to(t||{})}_getExistingOrDefaultHeader(t,s,r){let i;if(this.requestOptions&&this.requestOptions.headers){let n=to(this.requestOptions.headers)[s];n&&(i=typeof n=="number"?n.toString():n)}let o=t[s];return o!==void 0?typeof o=="number"?o.toString():o:i!==void 0?i:r}_getExistingOrDefaultContentTypeHeader(t,s){let r;if(this.requestOptions&&this.requestOptions.headers){let o=to(this.requestOptions.headers)[Ie.ContentType];o&&(typeof o=="number"?r=String(o):Array.isArray(o)?r=o.join(", "):r=o)}let i=t[Ie.ContentType];return i!==void 0?typeof i=="number"?String(i):Array.isArray(i)?i.join(", "):i:r!==void 0?r:s}_getAgent(t){let s,r=ku.getProxyUrl(t),i=r&&r.hostname;if(this._keepAlive&&i&&(s=this._proxyAgent),i||(s=this._agent),s)return s;let o=t.protocol==="https:",n=100;if(this.requestOptions&&(n=this.requestOptions.maxSockets||vu.globalAgent.maxSockets),r&&r.hostname){let a={maxSockets:n,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(r.username||r.password)&&{proxyAuth:`${r.username}:${r.password}`}),{host:r.hostname,port:r.port})},A,c=r.protocol==="https:";o?A=c?wa.httpsOverHttps:wa.httpsOverHttp:A=c?wa.httpOverHttps:wa.httpOverHttp,s=A(a),this._proxyAgent=s}if(!s){let a={keepAlive:this._keepAlive,maxSockets:n};s=o?new nC.Agent(a):new vu.Agent(a),this._agent=s}return o&&this._ignoreSslError&&(s.options=Object.assign(s.options||{},{rejectUnauthorized:!1})),s}_getProxyAgentDispatcher(t,s){let r;if(this._keepAlive&&(r=this._proxyAgentDispatcher),r)return r;let i=t.protocol==="https:";return r=new SG.ProxyAgent(Object.assign({uri:s.href,pipelining:this._keepAlive?1:0},(s.username||s.password)&&{token:`Basic ${Buffer.from(`${s.username}:${s.password}`).toString("base64")}`})),this._proxyAgentDispatcher=r,i&&this._ignoreSslError&&(r.options=Object.assign(r.options.requestTls||{},{rejectUnauthorized:!1})),r}_getUserAgentWithOrchestrationId(t){let s=t||"actions/http-client",r=process.env.ACTIONS_ORCHESTRATION_ID;if(r){let i=r.replace(/[^a-z0-9_.-]/gi,"_");return`${s} actions_orchestration_id/${i}`}return s}_performExponentialBackoff(t){return te(this,void 0,void 0,function*(){t=Math.min(LG,t);let s=_G*Math.pow(2,t);return new Promise(r=>setTimeout(()=>r(),s))})}_processResponse(t,s){return te(this,void 0,void 0,function*(){return new Promise((r,i)=>te(this,void 0,void 0,function*(){let o=t.message.statusCode||0,n={statusCode:o,result:null,headers:{}};o===Xe.NotFound&&r(n);function a(u,l){if(typeof l=="string"){let p=new Date(l);if(!isNaN(p.valueOf()))return p}return l}let A,c;try{c=yield t.readBody(),c&&c.length>0&&(s&&s.deserializeDates?A=JSON.parse(c,a):A=JSON.parse(c),n.result=A),n.headers=t.message.headers}catch{}if(o>299){let u;A&&A.message?u=A.message:c&&c.length>0?u=c:u=`Failed request: (${o})`;let l=new ba(u,o);l.result=n.result,i(l)}else r(n)}))})}};K.HttpClient=Du;var to=e=>Object.keys(e).reduce((t,s)=>(t[s.toLowerCase()]=e[s],t),{})});var DC=Q((sJ,ro)=>{"use strict";var Ra=function(){};Ra.prototype=Object.create(null);var ka=/; *([!#$%&'*+.^\w`|~-]+)=("(?:[\v\u0020\u0021\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\v\u0020-\u00ff])*"|[!#$%&'*+.^\w`|~-]+) */gu,Da=/\\([\v\u0020-\u00ff])/gu,xC=/^[!#$%&'*+.^\w|~-]+\/[!#$%&'*+.^\w|~-]+$/u,Ps={type:"",parameters:new Ra};Object.freeze(Ps.parameters);Object.freeze(Ps);function vC(e){if(typeof e!="string")throw new TypeError("argument header is required and must be a string");let t=e.indexOf(";"),s=t!==-1?e.slice(0,t).trim():e.trim();if(xC.test(s)===!1)throw new TypeError("invalid media type");let r={type:s.toLowerCase(),parameters:new Ra};if(t===-1)return r;let i,o,n;for(ka.lastIndex=t;o=ka.exec(e);){if(o.index!==t)throw new TypeError("invalid parameter format");t+=o[0].length,i=o[1].toLowerCase(),n=o[2],n[0]==='"'&&(n=n.slice(1,n.length-1),Da.test(n)&&(n=n.replace(Da,"$1"))),r.parameters[i]=n}if(t!==e.length)throw new TypeError("invalid parameter format");return r}function kC(e){if(typeof e!="string")return Ps;let t=e.indexOf(";"),s=t!==-1?e.slice(0,t).trim():e.trim();if(xC.test(s)===!1)return Ps;let r={type:s.toLowerCase(),parameters:new Ra};if(t===-1)return r;let i,o,n;for(ka.lastIndex=t;o=ka.exec(e);){if(o.index!==t)return Ps;t+=o[0].length,i=o[1].toLowerCase(),n=o[2],n[0]==='"'&&(n=n.slice(1,n.length-1),Da.test(n)&&(n=n.replace(Da,"$1"))),r.parameters[i]=n}return t!==e.length?Ps:r}ro.exports.default={parse:vC,safeParse:kC};ro.exports.parse=vC;ro.exports.safeParse=kC;ro.exports.defaultContentType=Ps});var XC=Q((HJ,_M)=>{_M.exports={"application/1d-interleaved-parityfec":{source:"iana"},"application/3gpdash-qoe-report+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/3gpp-ims+xml":{source:"iana",compressible:!0},"application/3gpphal+json":{source:"iana",compressible:!0},"application/3gpphalforms+json":{source:"iana",compressible:!0},"application/a2l":{source:"iana"},"application/ace+cbor":{source:"iana"},"application/ace+json":{source:"iana",compressible:!0},"application/ace-groupcomm+cbor":{source:"iana"},"application/ace-trl+cbor":{source:"iana"},"application/activemessage":{source:"iana"},"application/activity+json":{source:"iana",compressible:!0},"application/aif+cbor":{source:"iana"},"application/aif+json":{source:"iana",compressible:!0},"application/alto-cdni+json":{source:"iana",compressible:!0},"application/alto-cdnifilter+json":{source:"iana",compressible:!0},"application/alto-costmap+json":{source:"iana",compressible:!0},"application/alto-costmapfilter+json":{source:"iana",compressible:!0},"application/alto-directory+json":{source:"iana",compressible:!0},"application/alto-endpointcost+json":{source:"iana",compressible:!0},"application/alto-endpointcostparams+json":{source:"iana",compressible:!0},"application/alto-endpointprop+json":{source:"iana",compressible:!0},"application/alto-endpointpropparams+json":{source:"iana",compressible:!0},"application/alto-error+json":{source:"iana",compressible:!0},"application/alto-networkmap+json":{source:"iana",compressible:!0},"application/alto-networkmapfilter+json":{source:"iana",compressible:!0},"application/alto-propmap+json":{source:"iana",compressible:!0},"application/alto-propmapparams+json":{source:"iana",compressible:!0},"application/alto-tips+json":{source:"iana",compressible:!0},"application/alto-tipsparams+json":{source:"iana",compressible:!0},"application/alto-updatestreamcontrol+json":{source:"iana",compressible:!0},"application/alto-updatestreamparams+json":{source:"iana",compressible:!0},"application/aml":{source:"iana"},"application/andrew-inset":{source:"iana",extensions:["ez"]},"application/appinstaller":{compressible:!1,extensions:["appinstaller"]},"application/applefile":{source:"iana"},"application/applixware":{source:"apache",extensions:["aw"]},"application/appx":{compressible:!1,extensions:["appx"]},"application/appxbundle":{compressible:!1,extensions:["appxbundle"]},"application/at+jwt":{source:"iana"},"application/atf":{source:"iana"},"application/atfx":{source:"iana"},"application/atom+xml":{source:"iana",compressible:!0,extensions:["atom"]},"application/atomcat+xml":{source:"iana",compressible:!0,extensions:["atomcat"]},"application/atomdeleted+xml":{source:"iana",compressible:!0,extensions:["atomdeleted"]},"application/atomicmail":{source:"iana"},"application/atomsvc+xml":{source:"iana",compressible:!0,extensions:["atomsvc"]},"application/atsc-dwd+xml":{source:"iana",compressible:!0,extensions:["dwd"]},"application/atsc-dynamic-event-message":{source:"iana"},"application/atsc-held+xml":{source:"iana",compressible:!0,extensions:["held"]},"application/atsc-rdt+json":{source:"iana",compressible:!0},"application/atsc-rsat+xml":{source:"iana",compressible:!0,extensions:["rsat"]},"application/atxml":{source:"iana"},"application/auth-policy+xml":{source:"iana",compressible:!0},"application/automationml-aml+xml":{source:"iana",compressible:!0,extensions:["aml"]},"application/automationml-amlx+zip":{source:"iana",compressible:!1,extensions:["amlx"]},"application/bacnet-xdd+zip":{source:"iana",compressible:!1},"application/batch-smtp":{source:"iana"},"application/bdoc":{compressible:!1,extensions:["bdoc"]},"application/beep+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/bufr":{source:"iana"},"application/c2pa":{source:"iana"},"application/calendar+json":{source:"iana",compressible:!0},"application/calendar+xml":{source:"iana",compressible:!0,extensions:["xcs"]},"application/call-completion":{source:"iana"},"application/cals-1840":{source:"iana"},"application/captive+json":{source:"iana",compressible:!0},"application/cbor":{source:"iana"},"application/cbor-seq":{source:"iana"},"application/cccex":{source:"iana"},"application/ccmp+xml":{source:"iana",compressible:!0},"application/ccxml+xml":{source:"iana",compressible:!0,extensions:["ccxml"]},"application/cda+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/cdfx+xml":{source:"iana",compressible:!0,extensions:["cdfx"]},"application/cdmi-capability":{source:"iana",extensions:["cdmia"]},"application/cdmi-container":{source:"iana",extensions:["cdmic"]},"application/cdmi-domain":{source:"iana",extensions:["cdmid"]},"application/cdmi-object":{source:"iana",extensions:["cdmio"]},"application/cdmi-queue":{source:"iana",extensions:["cdmiq"]},"application/cdni":{source:"iana"},"application/ce+cbor":{source:"iana"},"application/cea":{source:"iana"},"application/cea-2018+xml":{source:"iana",compressible:!0},"application/cellml+xml":{source:"iana",compressible:!0},"application/cfw":{source:"iana"},"application/cid-edhoc+cbor-seq":{source:"iana"},"application/city+json":{source:"iana",compressible:!0},"application/city+json-seq":{source:"iana"},"application/clr":{source:"iana"},"application/clue+xml":{source:"iana",compressible:!0},"application/clue_info+xml":{source:"iana",compressible:!0},"application/cms":{source:"iana"},"application/cnrp+xml":{source:"iana",compressible:!0},"application/coap-eap":{source:"iana"},"application/coap-group+json":{source:"iana",compressible:!0},"application/coap-payload":{source:"iana"},"application/commonground":{source:"iana"},"application/concise-problem-details+cbor":{source:"iana"},"application/conference-info+xml":{source:"iana",compressible:!0},"application/cose":{source:"iana"},"application/cose-key":{source:"iana"},"application/cose-key-set":{source:"iana"},"application/cose-x509":{source:"iana"},"application/cpl+xml":{source:"iana",compressible:!0,extensions:["cpl"]},"application/csrattrs":{source:"iana"},"application/csta+xml":{source:"iana",compressible:!0},"application/cstadata+xml":{source:"iana",compressible:!0},"application/csvm+json":{source:"iana",compressible:!0},"application/cu-seeme":{source:"apache",extensions:["cu"]},"application/cwl":{source:"iana",extensions:["cwl"]},"application/cwl+json":{source:"iana",compressible:!0},"application/cwl+yaml":{source:"iana"},"application/cwt":{source:"iana"},"application/cybercash":{source:"iana"},"application/dart":{compressible:!0},"application/dash+xml":{source:"iana",compressible:!0,extensions:["mpd"]},"application/dash-patch+xml":{source:"iana",compressible:!0,extensions:["mpp"]},"application/dashdelta":{source:"iana"},"application/davmount+xml":{source:"iana",compressible:!0,extensions:["davmount"]},"application/dca-rft":{source:"iana"},"application/dcd":{source:"iana"},"application/dec-dx":{source:"iana"},"application/dialog-info+xml":{source:"iana",compressible:!0},"application/dicom":{source:"iana",extensions:["dcm"]},"application/dicom+json":{source:"iana",compressible:!0},"application/dicom+xml":{source:"iana",compressible:!0},"application/dii":{source:"iana"},"application/dit":{source:"iana"},"application/dns":{source:"iana"},"application/dns+json":{source:"iana",compressible:!0},"application/dns-message":{source:"iana"},"application/docbook+xml":{source:"apache",compressible:!0,extensions:["dbk"]},"application/dots+cbor":{source:"iana"},"application/dpop+jwt":{source:"iana"},"application/dskpp+xml":{source:"iana",compressible:!0},"application/dssc+der":{source:"iana",extensions:["dssc"]},"application/dssc+xml":{source:"iana",compressible:!0,extensions:["xdssc"]},"application/dvcs":{source:"iana"},"application/eat+cwt":{source:"iana"},"application/eat+jwt":{source:"iana"},"application/eat-bun+cbor":{source:"iana"},"application/eat-bun+json":{source:"iana",compressible:!0},"application/eat-ucs+cbor":{source:"iana"},"application/eat-ucs+json":{source:"iana",compressible:!0},"application/ecmascript":{source:"apache",compressible:!0,extensions:["ecma"]},"application/edhoc+cbor-seq":{source:"iana"},"application/edi-consent":{source:"iana"},"application/edi-x12":{source:"iana",compressible:!1},"application/edifact":{source:"iana",compressible:!1},"application/efi":{source:"iana"},"application/elm+json":{source:"iana",charset:"UTF-8",compressible:!0},"application/elm+xml":{source:"iana",compressible:!0},"application/emergencycalldata.cap+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/emergencycalldata.comment+xml":{source:"iana",compressible:!0},"application/emergencycalldata.control+xml":{source:"iana",compressible:!0},"application/emergencycalldata.deviceinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.ecall.msd":{source:"iana"},"application/emergencycalldata.legacyesn+json":{source:"iana",compressible:!0},"application/emergencycalldata.providerinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.serviceinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.subscriberinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.veds+xml":{source:"iana",compressible:!0},"application/emma+xml":{source:"iana",compressible:!0,extensions:["emma"]},"application/emotionml+xml":{source:"iana",compressible:!0,extensions:["emotionml"]},"application/encaprtp":{source:"iana"},"application/entity-statement+jwt":{source:"iana"},"application/epp+xml":{source:"iana",compressible:!0},"application/epub+zip":{source:"iana",compressible:!1,extensions:["epub"]},"application/eshop":{source:"iana"},"application/exi":{source:"iana",extensions:["exi"]},"application/expect-ct-report+json":{source:"iana",compressible:!0},"application/express":{source:"iana",extensions:["exp"]},"application/fastinfoset":{source:"iana"},"application/fastsoap":{source:"iana"},"application/fdf":{source:"iana",extensions:["fdf"]},"application/fdt+xml":{source:"iana",compressible:!0,extensions:["fdt"]},"application/fhir+json":{source:"iana",charset:"UTF-8",compressible:!0},"application/fhir+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/fido.trusted-apps+json":{compressible:!0},"application/fits":{source:"iana"},"application/flexfec":{source:"iana"},"application/font-sfnt":{source:"iana"},"application/font-tdpfr":{source:"iana",extensions:["pfr"]},"application/font-woff":{source:"iana",compressible:!1},"application/framework-attributes+xml":{source:"iana",compressible:!0},"application/geo+json":{source:"iana",compressible:!0,extensions:["geojson"]},"application/geo+json-seq":{source:"iana"},"application/geopackage+sqlite3":{source:"iana"},"application/geopose+json":{source:"iana",compressible:!0},"application/geoxacml+json":{source:"iana",compressible:!0},"application/geoxacml+xml":{source:"iana",compressible:!0},"application/gltf-buffer":{source:"iana"},"application/gml+xml":{source:"iana",compressible:!0,extensions:["gml"]},"application/gnap-binding-jws":{source:"iana"},"application/gnap-binding-jwsd":{source:"iana"},"application/gnap-binding-rotation-jws":{source:"iana"},"application/gnap-binding-rotation-jwsd":{source:"iana"},"application/gpx+xml":{source:"apache",compressible:!0,extensions:["gpx"]},"application/grib":{source:"iana"},"application/gxf":{source:"apache",extensions:["gxf"]},"application/gzip":{source:"iana",compressible:!1,extensions:["gz"]},"application/h224":{source:"iana"},"application/held+xml":{source:"iana",compressible:!0},"application/hjson":{extensions:["hjson"]},"application/hl7v2+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/http":{source:"iana"},"application/hyperstudio":{source:"iana",extensions:["stk"]},"application/ibe-key-request+xml":{source:"iana",compressible:!0},"application/ibe-pkg-reply+xml":{source:"iana",compressible:!0},"application/ibe-pp-data":{source:"iana"},"application/iges":{source:"iana"},"application/im-iscomposing+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/index":{source:"iana"},"application/index.cmd":{source:"iana"},"application/index.obj":{source:"iana"},"application/index.response":{source:"iana"},"application/index.vnd":{source:"iana"},"application/inkml+xml":{source:"iana",compressible:!0,extensions:["ink","inkml"]},"application/iotp":{source:"iana"},"application/ipfix":{source:"iana",extensions:["ipfix"]},"application/ipp":{source:"iana"},"application/isup":{source:"iana"},"application/its+xml":{source:"iana",compressible:!0,extensions:["its"]},"application/java-archive":{source:"iana",compressible:!1,extensions:["jar","war","ear"]},"application/java-serialized-object":{source:"apache",compressible:!1,extensions:["ser"]},"application/java-vm":{source:"apache",compressible:!1,extensions:["class"]},"application/javascript":{source:"apache",charset:"UTF-8",compressible:!0,extensions:["js"]},"application/jf2feed+json":{source:"iana",compressible:!0},"application/jose":{source:"iana"},"application/jose+json":{source:"iana",compressible:!0},"application/jrd+json":{source:"iana",compressible:!0},"application/jscalendar+json":{source:"iana",compressible:!0},"application/jscontact+json":{source:"iana",compressible:!0},"application/json":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["json","map"]},"application/json-patch+json":{source:"iana",compressible:!0},"application/json-seq":{source:"iana"},"application/json5":{extensions:["json5"]},"application/jsonml+json":{source:"apache",compressible:!0,extensions:["jsonml"]},"application/jsonpath":{source:"iana"},"application/jwk+json":{source:"iana",compressible:!0},"application/jwk-set+json":{source:"iana",compressible:!0},"application/jwk-set+jwt":{source:"iana"},"application/jwt":{source:"iana"},"application/kpml-request+xml":{source:"iana",compressible:!0},"application/kpml-response+xml":{source:"iana",compressible:!0},"application/ld+json":{source:"iana",compressible:!0,extensions:["jsonld"]},"application/lgr+xml":{source:"iana",compressible:!0,extensions:["lgr"]},"application/link-format":{source:"iana"},"application/linkset":{source:"iana"},"application/linkset+json":{source:"iana",compressible:!0},"application/load-control+xml":{source:"iana",compressible:!0},"application/logout+jwt":{source:"iana"},"application/lost+xml":{source:"iana",compressible:!0,extensions:["lostxml"]},"application/lostsync+xml":{source:"iana",compressible:!0},"application/lpf+zip":{source:"iana",compressible:!1},"application/lxf":{source:"iana"},"application/mac-binhex40":{source:"iana",extensions:["hqx"]},"application/mac-compactpro":{source:"apache",extensions:["cpt"]},"application/macwriteii":{source:"iana"},"application/mads+xml":{source:"iana",compressible:!0,extensions:["mads"]},"application/manifest+json":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["webmanifest"]},"application/marc":{source:"iana",extensions:["mrc"]},"application/marcxml+xml":{source:"iana",compressible:!0,extensions:["mrcx"]},"application/mathematica":{source:"iana",extensions:["ma","nb","mb"]},"application/mathml+xml":{source:"iana",compressible:!0,extensions:["mathml"]},"application/mathml-content+xml":{source:"iana",compressible:!0},"application/mathml-presentation+xml":{source:"iana",compressible:!0},"application/mbms-associated-procedure-description+xml":{source:"iana",compressible:!0},"application/mbms-deregister+xml":{source:"iana",compressible:!0},"application/mbms-envelope+xml":{source:"iana",compressible:!0},"application/mbms-msk+xml":{source:"iana",compressible:!0},"application/mbms-msk-response+xml":{source:"iana",compressible:!0},"application/mbms-protection-description+xml":{source:"iana",compressible:!0},"application/mbms-reception-report+xml":{source:"iana",compressible:!0},"application/mbms-register+xml":{source:"iana",compressible:!0},"application/mbms-register-response+xml":{source:"iana",compressible:!0},"application/mbms-schedule+xml":{source:"iana",compressible:!0},"application/mbms-user-service-description+xml":{source:"iana",compressible:!0},"application/mbox":{source:"iana",extensions:["mbox"]},"application/media-policy-dataset+xml":{source:"iana",compressible:!0,extensions:["mpf"]},"application/media_control+xml":{source:"iana",compressible:!0},"application/mediaservercontrol+xml":{source:"iana",compressible:!0,extensions:["mscml"]},"application/merge-patch+json":{source:"iana",compressible:!0},"application/metalink+xml":{source:"apache",compressible:!0,extensions:["metalink"]},"application/metalink4+xml":{source:"iana",compressible:!0,extensions:["meta4"]},"application/mets+xml":{source:"iana",compressible:!0,extensions:["mets"]},"application/mf4":{source:"iana"},"application/mikey":{source:"iana"},"application/mipc":{source:"iana"},"application/missing-blocks+cbor-seq":{source:"iana"},"application/mmt-aei+xml":{source:"iana",compressible:!0,extensions:["maei"]},"application/mmt-usd+xml":{source:"iana",compressible:!0,extensions:["musd"]},"application/mods+xml":{source:"iana",compressible:!0,extensions:["mods"]},"application/moss-keys":{source:"iana"},"application/moss-signature":{source:"iana"},"application/mosskey-data":{source:"iana"},"application/mosskey-request":{source:"iana"},"application/mp21":{source:"iana",extensions:["m21","mp21"]},"application/mp4":{source:"iana",extensions:["mp4","mpg4","mp4s","m4p"]},"application/mpeg4-generic":{source:"iana"},"application/mpeg4-iod":{source:"iana"},"application/mpeg4-iod-xmt":{source:"iana"},"application/mrb-consumer+xml":{source:"iana",compressible:!0},"application/mrb-publish+xml":{source:"iana",compressible:!0},"application/msc-ivr+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/msc-mixer+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/msix":{compressible:!1,extensions:["msix"]},"application/msixbundle":{compressible:!1,extensions:["msixbundle"]},"application/msword":{source:"iana",compressible:!1,extensions:["doc","dot"]},"application/mud+json":{source:"iana",compressible:!0},"application/multipart-core":{source:"iana"},"application/mxf":{source:"iana",extensions:["mxf"]},"application/n-quads":{source:"iana",extensions:["nq"]},"application/n-triples":{source:"iana",extensions:["nt"]},"application/nasdata":{source:"iana"},"application/news-checkgroups":{source:"iana",charset:"US-ASCII"},"application/news-groupinfo":{source:"iana",charset:"US-ASCII"},"application/news-transmission":{source:"iana"},"application/nlsml+xml":{source:"iana",compressible:!0},"application/node":{source:"iana",extensions:["cjs"]},"application/nss":{source:"iana"},"application/oauth-authz-req+jwt":{source:"iana"},"application/oblivious-dns-message":{source:"iana"},"application/ocsp-request":{source:"iana"},"application/ocsp-response":{source:"iana"},"application/octet-stream":{source:"iana",compressible:!0,extensions:["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","exe","dll","deb","dmg","iso","img","msi","msp","msm","buffer"]},"application/oda":{source:"iana",extensions:["oda"]},"application/odm+xml":{source:"iana",compressible:!0},"application/odx":{source:"iana"},"application/oebps-package+xml":{source:"iana",compressible:!0,extensions:["opf"]},"application/ogg":{source:"iana",compressible:!1,extensions:["ogx"]},"application/ohttp-keys":{source:"iana"},"application/omdoc+xml":{source:"apache",compressible:!0,extensions:["omdoc"]},"application/onenote":{source:"apache",extensions:["onetoc","onetoc2","onetmp","onepkg","one","onea"]},"application/opc-nodeset+xml":{source:"iana",compressible:!0},"application/oscore":{source:"iana"},"application/oxps":{source:"iana",extensions:["oxps"]},"application/p21":{source:"iana"},"application/p21+zip":{source:"iana",compressible:!1},"application/p2p-overlay+xml":{source:"iana",compressible:!0,extensions:["relo"]},"application/parityfec":{source:"iana"},"application/passport":{source:"iana"},"application/patch-ops-error+xml":{source:"iana",compressible:!0,extensions:["xer"]},"application/pdf":{source:"iana",compressible:!1,extensions:["pdf"]},"application/pdx":{source:"iana"},"application/pem-certificate-chain":{source:"iana"},"application/pgp-encrypted":{source:"iana",compressible:!1,extensions:["pgp"]},"application/pgp-keys":{source:"iana",extensions:["asc"]},"application/pgp-signature":{source:"iana",extensions:["sig","asc"]},"application/pics-rules":{source:"apache",extensions:["prf"]},"application/pidf+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/pidf-diff+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/pkcs10":{source:"iana",extensions:["p10"]},"application/pkcs12":{source:"iana"},"application/pkcs7-mime":{source:"iana",extensions:["p7m","p7c"]},"application/pkcs7-signature":{source:"iana",extensions:["p7s"]},"application/pkcs8":{source:"iana",extensions:["p8"]},"application/pkcs8-encrypted":{source:"iana"},"application/pkix-attr-cert":{source:"iana",extensions:["ac"]},"application/pkix-cert":{source:"iana",extensions:["cer"]},"application/pkix-crl":{source:"iana",extensions:["crl"]},"application/pkix-pkipath":{source:"iana",extensions:["pkipath"]},"application/pkixcmp":{source:"iana",extensions:["pki"]},"application/pls+xml":{source:"iana",compressible:!0,extensions:["pls"]},"application/poc-settings+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/postscript":{source:"iana",compressible:!0,extensions:["ai","eps","ps"]},"application/ppsp-tracker+json":{source:"iana",compressible:!0},"application/private-token-issuer-directory":{source:"iana"},"application/private-token-request":{source:"iana"},"application/private-token-response":{source:"iana"},"application/problem+json":{source:"iana",compressible:!0},"application/problem+xml":{source:"iana",compressible:!0},"application/provenance+xml":{source:"iana",compressible:!0,extensions:["provx"]},"application/provided-claims+jwt":{source:"iana"},"application/prs.alvestrand.titrax-sheet":{source:"iana"},"application/prs.cww":{source:"iana",extensions:["cww"]},"application/prs.cyn":{source:"iana",charset:"7-BIT"},"application/prs.hpub+zip":{source:"iana",compressible:!1},"application/prs.implied-document+xml":{source:"iana",compressible:!0},"application/prs.implied-executable":{source:"iana"},"application/prs.implied-object+json":{source:"iana",compressible:!0},"application/prs.implied-object+json-seq":{source:"iana"},"application/prs.implied-object+yaml":{source:"iana"},"application/prs.implied-structure":{source:"iana"},"application/prs.mayfile":{source:"iana"},"application/prs.nprend":{source:"iana"},"application/prs.plucker":{source:"iana"},"application/prs.rdf-xml-crypt":{source:"iana"},"application/prs.vcfbzip2":{source:"iana"},"application/prs.xsf+xml":{source:"iana",compressible:!0,extensions:["xsf"]},"application/pskc+xml":{source:"iana",compressible:!0,extensions:["pskcxml"]},"application/pvd+json":{source:"iana",compressible:!0},"application/qsig":{source:"iana"},"application/raml+yaml":{compressible:!0,extensions:["raml"]},"application/raptorfec":{source:"iana"},"application/rdap+json":{source:"iana",compressible:!0},"application/rdf+xml":{source:"iana",compressible:!0,extensions:["rdf","owl"]},"application/reginfo+xml":{source:"iana",compressible:!0,extensions:["rif"]},"application/relax-ng-compact-syntax":{source:"iana",extensions:["rnc"]},"application/remote-printing":{source:"apache"},"application/reputon+json":{source:"iana",compressible:!0},"application/resolve-response+jwt":{source:"iana"},"application/resource-lists+xml":{source:"iana",compressible:!0,extensions:["rl"]},"application/resource-lists-diff+xml":{source:"iana",compressible:!0,extensions:["rld"]},"application/rfc+xml":{source:"iana",compressible:!0},"application/riscos":{source:"iana"},"application/rlmi+xml":{source:"iana",compressible:!0},"application/rls-services+xml":{source:"iana",compressible:!0,extensions:["rs"]},"application/route-apd+xml":{source:"iana",compressible:!0,extensions:["rapd"]},"application/route-s-tsid+xml":{source:"iana",compressible:!0,extensions:["sls"]},"application/route-usd+xml":{source:"iana",compressible:!0,extensions:["rusd"]},"application/rpki-checklist":{source:"iana"},"application/rpki-ghostbusters":{source:"iana",extensions:["gbr"]},"application/rpki-manifest":{source:"iana",extensions:["mft"]},"application/rpki-publication":{source:"iana"},"application/rpki-roa":{source:"iana",extensions:["roa"]},"application/rpki-signed-tal":{source:"iana"},"application/rpki-updown":{source:"iana"},"application/rsd+xml":{source:"apache",compressible:!0,extensions:["rsd"]},"application/rss+xml":{source:"apache",compressible:!0,extensions:["rss"]},"application/rtf":{source:"iana",compressible:!0,extensions:["rtf"]},"application/rtploopback":{source:"iana"},"application/rtx":{source:"iana"},"application/samlassertion+xml":{source:"iana",compressible:!0},"application/samlmetadata+xml":{source:"iana",compressible:!0},"application/sarif+json":{source:"iana",compressible:!0},"application/sarif-external-properties+json":{source:"iana",compressible:!0},"application/sbe":{source:"iana"},"application/sbml+xml":{source:"iana",compressible:!0,extensions:["sbml"]},"application/scaip+xml":{source:"iana",compressible:!0},"application/scim+json":{source:"iana",compressible:!0},"application/scvp-cv-request":{source:"iana",extensions:["scq"]},"application/scvp-cv-response":{source:"iana",extensions:["scs"]},"application/scvp-vp-request":{source:"iana",extensions:["spq"]},"application/scvp-vp-response":{source:"iana",extensions:["spp"]},"application/sdp":{source:"iana",extensions:["sdp"]},"application/secevent+jwt":{source:"iana"},"application/senml+cbor":{source:"iana"},"application/senml+json":{source:"iana",compressible:!0},"application/senml+xml":{source:"iana",compressible:!0,extensions:["senmlx"]},"application/senml-etch+cbor":{source:"iana"},"application/senml-etch+json":{source:"iana",compressible:!0},"application/senml-exi":{source:"iana"},"application/sensml+cbor":{source:"iana"},"application/sensml+json":{source:"iana",compressible:!0},"application/sensml+xml":{source:"iana",compressible:!0,extensions:["sensmlx"]},"application/sensml-exi":{source:"iana"},"application/sep+xml":{source:"iana",compressible:!0},"application/sep-exi":{source:"iana"},"application/session-info":{source:"iana"},"application/set-payment":{source:"iana"},"application/set-payment-initiation":{source:"iana",extensions:["setpay"]},"application/set-registration":{source:"iana"},"application/set-registration-initiation":{source:"iana",extensions:["setreg"]},"application/sgml":{source:"iana"},"application/sgml-open-catalog":{source:"iana"},"application/shf+xml":{source:"iana",compressible:!0,extensions:["shf"]},"application/sieve":{source:"iana",extensions:["siv","sieve"]},"application/simple-filter+xml":{source:"iana",compressible:!0},"application/simple-message-summary":{source:"iana"},"application/simplesymbolcontainer":{source:"iana"},"application/sipc":{source:"iana"},"application/slate":{source:"iana"},"application/smil":{source:"apache"},"application/smil+xml":{source:"iana",compressible:!0,extensions:["smi","smil"]},"application/smpte336m":{source:"iana"},"application/soap+fastinfoset":{source:"iana"},"application/soap+xml":{source:"iana",compressible:!0},"application/sparql-query":{source:"iana",extensions:["rq"]},"application/sparql-results+xml":{source:"iana",compressible:!0,extensions:["srx"]},"application/spdx+json":{source:"iana",compressible:!0},"application/spirits-event+xml":{source:"iana",compressible:!0},"application/sql":{source:"iana",extensions:["sql"]},"application/srgs":{source:"iana",extensions:["gram"]},"application/srgs+xml":{source:"iana",compressible:!0,extensions:["grxml"]},"application/sru+xml":{source:"iana",compressible:!0,extensions:["sru"]},"application/ssdl+xml":{source:"apache",compressible:!0,extensions:["ssdl"]},"application/sslkeylogfile":{source:"iana"},"application/ssml+xml":{source:"iana",compressible:!0,extensions:["ssml"]},"application/st2110-41":{source:"iana"},"application/stix+json":{source:"iana",compressible:!0},"application/stratum":{source:"iana"},"application/swid+cbor":{source:"iana"},"application/swid+xml":{source:"iana",compressible:!0,extensions:["swidtag"]},"application/tamp-apex-update":{source:"iana"},"application/tamp-apex-update-confirm":{source:"iana"},"application/tamp-community-update":{source:"iana"},"application/tamp-community-update-confirm":{source:"iana"},"application/tamp-error":{source:"iana"},"application/tamp-sequence-adjust":{source:"iana"},"application/tamp-sequence-adjust-confirm":{source:"iana"},"application/tamp-status-query":{source:"iana"},"application/tamp-status-response":{source:"iana"},"application/tamp-update":{source:"iana"},"application/tamp-update-confirm":{source:"iana"},"application/tar":{compressible:!0},"application/taxii+json":{source:"iana",compressible:!0},"application/td+json":{source:"iana",compressible:!0},"application/tei+xml":{source:"iana",compressible:!0,extensions:["tei","teicorpus"]},"application/tetra_isi":{source:"iana"},"application/thraud+xml":{source:"iana",compressible:!0,extensions:["tfi"]},"application/timestamp-query":{source:"iana"},"application/timestamp-reply":{source:"iana"},"application/timestamped-data":{source:"iana",extensions:["tsd"]},"application/tlsrpt+gzip":{source:"iana"},"application/tlsrpt+json":{source:"iana",compressible:!0},"application/tm+json":{source:"iana",compressible:!0},"application/tnauthlist":{source:"iana"},"application/toc+cbor":{source:"iana"},"application/token-introspection+jwt":{source:"iana"},"application/toml":{source:"iana",compressible:!0,extensions:["toml"]},"application/trickle-ice-sdpfrag":{source:"iana"},"application/trig":{source:"iana",extensions:["trig"]},"application/trust-chain+json":{source:"iana",compressible:!0},"application/trust-mark+jwt":{source:"iana"},"application/trust-mark-delegation+jwt":{source:"iana"},"application/ttml+xml":{source:"iana",compressible:!0,extensions:["ttml"]},"application/tve-trigger":{source:"iana"},"application/tzif":{source:"iana"},"application/tzif-leap":{source:"iana"},"application/ubjson":{compressible:!1,extensions:["ubj"]},"application/uccs+cbor":{source:"iana"},"application/ujcs+json":{source:"iana",compressible:!0},"application/ulpfec":{source:"iana"},"application/urc-grpsheet+xml":{source:"iana",compressible:!0},"application/urc-ressheet+xml":{source:"iana",compressible:!0,extensions:["rsheet"]},"application/urc-targetdesc+xml":{source:"iana",compressible:!0,extensions:["td"]},"application/urc-uisocketdesc+xml":{source:"iana",compressible:!0},"application/vc":{source:"iana"},"application/vc+cose":{source:"iana"},"application/vc+jwt":{source:"iana"},"application/vcard+json":{source:"iana",compressible:!0},"application/vcard+xml":{source:"iana",compressible:!0},"application/vemmi":{source:"iana"},"application/vividence.scriptfile":{source:"apache"},"application/vnd.1000minds.decision-model+xml":{source:"iana",compressible:!0,extensions:["1km"]},"application/vnd.1ob":{source:"iana"},"application/vnd.3gpp-prose+xml":{source:"iana",compressible:!0},"application/vnd.3gpp-prose-pc3a+xml":{source:"iana",compressible:!0},"application/vnd.3gpp-prose-pc3ach+xml":{source:"iana",compressible:!0},"application/vnd.3gpp-prose-pc3ch+xml":{source:"iana",compressible:!0},"application/vnd.3gpp-prose-pc8+xml":{source:"iana",compressible:!0},"application/vnd.3gpp-v2x-local-service-information":{source:"iana"},"application/vnd.3gpp.5gnas":{source:"iana"},"application/vnd.3gpp.5gsa2x":{source:"iana"},"application/vnd.3gpp.5gsa2x-local-service-information":{source:"iana"},"application/vnd.3gpp.5gsv2x":{source:"iana"},"application/vnd.3gpp.5gsv2x-local-service-information":{source:"iana"},"application/vnd.3gpp.access-transfer-events+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.bsf+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.crs+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.current-location-discovery+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.gmop+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.gtpc":{source:"iana"},"application/vnd.3gpp.interworking-data":{source:"iana"},"application/vnd.3gpp.lpp":{source:"iana"},"application/vnd.3gpp.mc-signalling-ear":{source:"iana"},"application/vnd.3gpp.mcdata-affiliation-command+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-msgstore-ctrl-request+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-payload":{source:"iana"},"application/vnd.3gpp.mcdata-regroup+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-service-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-signalling":{source:"iana"},"application/vnd.3gpp.mcdata-ue-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-user-profile+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-affiliation-command+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-floor-request+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-location-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-mbms-usage-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-regroup+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-service-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-signed+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-ue-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-ue-init-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-user-profile+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-affiliation-command+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-location-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-mbms-usage-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-regroup+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-service-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-transmission-request+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-ue-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-user-profile+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mid-call+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.ngap":{source:"iana"},"application/vnd.3gpp.pfcp":{source:"iana"},"application/vnd.3gpp.pic-bw-large":{source:"iana",extensions:["plb"]},"application/vnd.3gpp.pic-bw-small":{source:"iana",extensions:["psb"]},"application/vnd.3gpp.pic-bw-var":{source:"iana",extensions:["pvb"]},"application/vnd.3gpp.pinapp-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.s1ap":{source:"iana"},"application/vnd.3gpp.seal-group-doc+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.seal-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.seal-location-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.seal-mbms-usage-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.seal-network-qos-management-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.seal-ue-config-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.seal-unicast-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.seal-user-profile-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.sms":{source:"iana"},"application/vnd.3gpp.sms+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.srvcc-ext+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.srvcc-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.state-and-event-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.ussd+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.v2x":{source:"iana"},"application/vnd.3gpp.vae-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp2.bcmcsinfo+xml":{source:"iana",compressible:!0},"application/vnd.3gpp2.sms":{source:"iana"},"application/vnd.3gpp2.tcap":{source:"iana",extensions:["tcap"]},"application/vnd.3lightssoftware.imagescal":{source:"iana"},"application/vnd.3m.post-it-notes":{source:"iana",extensions:["pwn"]},"application/vnd.accpac.simply.aso":{source:"iana",extensions:["aso"]},"application/vnd.accpac.simply.imp":{source:"iana",extensions:["imp"]},"application/vnd.acm.addressxfer+json":{source:"iana",compressible:!0},"application/vnd.acm.chatbot+json":{source:"iana",compressible:!0},"application/vnd.acucobol":{source:"iana",extensions:["acu"]},"application/vnd.acucorp":{source:"iana",extensions:["atc","acutc"]},"application/vnd.adobe.air-application-installer-package+zip":{source:"apache",compressible:!1,extensions:["air"]},"application/vnd.adobe.flash.movie":{source:"iana"},"application/vnd.adobe.formscentral.fcdt":{source:"iana",extensions:["fcdt"]},"application/vnd.adobe.fxp":{source:"iana",extensions:["fxp","fxpl"]},"application/vnd.adobe.partial-upload":{source:"iana"},"application/vnd.adobe.xdp+xml":{source:"iana",compressible:!0,extensions:["xdp"]},"application/vnd.adobe.xfdf":{source:"apache",extensions:["xfdf"]},"application/vnd.aether.imp":{source:"iana"},"application/vnd.afpc.afplinedata":{source:"iana"},"application/vnd.afpc.afplinedata-pagedef":{source:"iana"},"application/vnd.afpc.cmoca-cmresource":{source:"iana"},"application/vnd.afpc.foca-charset":{source:"iana"},"application/vnd.afpc.foca-codedfont":{source:"iana"},"application/vnd.afpc.foca-codepage":{source:"iana"},"application/vnd.afpc.modca":{source:"iana"},"application/vnd.afpc.modca-cmtable":{source:"iana"},"application/vnd.afpc.modca-formdef":{source:"iana"},"application/vnd.afpc.modca-mediummap":{source:"iana"},"application/vnd.afpc.modca-objectcontainer":{source:"iana"},"application/vnd.afpc.modca-overlay":{source:"iana"},"application/vnd.afpc.modca-pagesegment":{source:"iana"},"application/vnd.age":{source:"iana",extensions:["age"]},"application/vnd.ah-barcode":{source:"apache"},"application/vnd.ahead.space":{source:"iana",extensions:["ahead"]},"application/vnd.airzip.filesecure.azf":{source:"iana",extensions:["azf"]},"application/vnd.airzip.filesecure.azs":{source:"iana",extensions:["azs"]},"application/vnd.amadeus+json":{source:"iana",compressible:!0},"application/vnd.amazon.ebook":{source:"apache",extensions:["azw"]},"application/vnd.amazon.mobi8-ebook":{source:"iana"},"application/vnd.americandynamics.acc":{source:"iana",extensions:["acc"]},"application/vnd.amiga.ami":{source:"iana",extensions:["ami"]},"application/vnd.amundsen.maze+xml":{source:"iana",compressible:!0},"application/vnd.android.ota":{source:"iana"},"application/vnd.android.package-archive":{source:"apache",compressible:!1,extensions:["apk"]},"application/vnd.anki":{source:"iana"},"application/vnd.anser-web-certificate-issue-initiation":{source:"iana",extensions:["cii"]},"application/vnd.anser-web-funds-transfer-initiation":{source:"apache",extensions:["fti"]},"application/vnd.antix.game-component":{source:"iana",extensions:["atx"]},"application/vnd.apache.arrow.file":{source:"iana"},"application/vnd.apache.arrow.stream":{source:"iana"},"application/vnd.apache.parquet":{source:"iana"},"application/vnd.apache.thrift.binary":{source:"iana"},"application/vnd.apache.thrift.compact":{source:"iana"},"application/vnd.apache.thrift.json":{source:"iana"},"application/vnd.apexlang":{source:"iana"},"application/vnd.api+json":{source:"iana",compressible:!0},"application/vnd.aplextor.warrp+json":{source:"iana",compressible:!0},"application/vnd.apothekende.reservation+json":{source:"iana",compressible:!0},"application/vnd.apple.installer+xml":{source:"iana",compressible:!0,extensions:["mpkg"]},"application/vnd.apple.keynote":{source:"iana",extensions:["key"]},"application/vnd.apple.mpegurl":{source:"iana",extensions:["m3u8"]},"application/vnd.apple.numbers":{source:"iana",extensions:["numbers"]},"application/vnd.apple.pages":{source:"iana",extensions:["pages"]},"application/vnd.apple.pkpass":{compressible:!1,extensions:["pkpass"]},"application/vnd.arastra.swi":{source:"apache"},"application/vnd.aristanetworks.swi":{source:"iana",extensions:["swi"]},"application/vnd.artisan+json":{source:"iana",compressible:!0},"application/vnd.artsquare":{source:"iana"},"application/vnd.astraea-software.iota":{source:"iana",extensions:["iota"]},"application/vnd.audiograph":{source:"iana",extensions:["aep"]},"application/vnd.autodesk.fbx":{extensions:["fbx"]},"application/vnd.autopackage":{source:"iana"},"application/vnd.avalon+json":{source:"iana",compressible:!0},"application/vnd.avistar+xml":{source:"iana",compressible:!0},"application/vnd.balsamiq.bmml+xml":{source:"iana",compressible:!0,extensions:["bmml"]},"application/vnd.balsamiq.bmpr":{source:"iana"},"application/vnd.banana-accounting":{source:"iana"},"application/vnd.bbf.usp.error":{source:"iana"},"application/vnd.bbf.usp.msg":{source:"iana"},"application/vnd.bbf.usp.msg+json":{source:"iana",compressible:!0},"application/vnd.bekitzur-stech+json":{source:"iana",compressible:!0},"application/vnd.belightsoft.lhzd+zip":{source:"iana",compressible:!1},"application/vnd.belightsoft.lhzl+zip":{source:"iana",compressible:!1},"application/vnd.bint.med-content":{source:"iana"},"application/vnd.biopax.rdf+xml":{source:"iana",compressible:!0},"application/vnd.blink-idb-value-wrapper":{source:"iana"},"application/vnd.blueice.multipass":{source:"iana",extensions:["mpm"]},"application/vnd.bluetooth.ep.oob":{source:"iana"},"application/vnd.bluetooth.le.oob":{source:"iana"},"application/vnd.bmi":{source:"iana",extensions:["bmi"]},"application/vnd.bpf":{source:"iana"},"application/vnd.bpf3":{source:"iana"},"application/vnd.businessobjects":{source:"iana",extensions:["rep"]},"application/vnd.byu.uapi+json":{source:"iana",compressible:!0},"application/vnd.bzip3":{source:"iana"},"application/vnd.c3voc.schedule+xml":{source:"iana",compressible:!0},"application/vnd.cab-jscript":{source:"iana"},"application/vnd.canon-cpdl":{source:"iana"},"application/vnd.canon-lips":{source:"iana"},"application/vnd.capasystems-pg+json":{source:"iana",compressible:!0},"application/vnd.cendio.thinlinc.clientconf":{source:"iana"},"application/vnd.century-systems.tcp_stream":{source:"iana"},"application/vnd.chemdraw+xml":{source:"iana",compressible:!0,extensions:["cdxml"]},"application/vnd.chess-pgn":{source:"iana"},"application/vnd.chipnuts.karaoke-mmd":{source:"iana",extensions:["mmd"]},"application/vnd.ciedi":{source:"iana"},"application/vnd.cinderella":{source:"iana",extensions:["cdy"]},"application/vnd.cirpack.isdn-ext":{source:"iana"},"application/vnd.citationstyles.style+xml":{source:"iana",compressible:!0,extensions:["csl"]},"application/vnd.claymore":{source:"iana",extensions:["cla"]},"application/vnd.cloanto.rp9":{source:"iana",extensions:["rp9"]},"application/vnd.clonk.c4group":{source:"iana",extensions:["c4g","c4d","c4f","c4p","c4u"]},"application/vnd.cluetrust.cartomobile-config":{source:"iana",extensions:["c11amc"]},"application/vnd.cluetrust.cartomobile-config-pkg":{source:"iana",extensions:["c11amz"]},"application/vnd.cncf.helm.chart.content.v1.tar+gzip":{source:"iana"},"application/vnd.cncf.helm.chart.provenance.v1.prov":{source:"iana"},"application/vnd.cncf.helm.config.v1+json":{source:"iana",compressible:!0},"application/vnd.coffeescript":{source:"iana"},"application/vnd.collabio.xodocuments.document":{source:"iana"},"application/vnd.collabio.xodocuments.document-template":{source:"iana"},"application/vnd.collabio.xodocuments.presentation":{source:"iana"},"application/vnd.collabio.xodocuments.presentation-template":{source:"iana"},"application/vnd.collabio.xodocuments.spreadsheet":{source:"iana"},"application/vnd.collabio.xodocuments.spreadsheet-template":{source:"iana"},"application/vnd.collection+json":{source:"iana",compressible:!0},"application/vnd.collection.doc+json":{source:"iana",compressible:!0},"application/vnd.collection.next+json":{source:"iana",compressible:!0},"application/vnd.comicbook+zip":{source:"iana",compressible:!1},"application/vnd.comicbook-rar":{source:"iana"},"application/vnd.commerce-battelle":{source:"iana"},"application/vnd.commonspace":{source:"iana",extensions:["csp"]},"application/vnd.contact.cmsg":{source:"iana",extensions:["cdbcmsg"]},"application/vnd.coreos.ignition+json":{source:"iana",compressible:!0},"application/vnd.cosmocaller":{source:"iana",extensions:["cmc"]},"application/vnd.crick.clicker":{source:"iana",extensions:["clkx"]},"application/vnd.crick.clicker.keyboard":{source:"iana",extensions:["clkk"]},"application/vnd.crick.clicker.palette":{source:"iana",extensions:["clkp"]},"application/vnd.crick.clicker.template":{source:"iana",extensions:["clkt"]},"application/vnd.crick.clicker.wordbank":{source:"iana",extensions:["clkw"]},"application/vnd.criticaltools.wbs+xml":{source:"iana",compressible:!0,extensions:["wbs"]},"application/vnd.cryptii.pipe+json":{source:"iana",compressible:!0},"application/vnd.crypto-shade-file":{source:"iana"},"application/vnd.cryptomator.encrypted":{source:"iana"},"application/vnd.cryptomator.vault":{source:"iana"},"application/vnd.ctc-posml":{source:"iana",extensions:["pml"]},"application/vnd.ctct.ws+xml":{source:"iana",compressible:!0},"application/vnd.cups-pdf":{source:"iana"},"application/vnd.cups-postscript":{source:"iana"},"application/vnd.cups-ppd":{source:"iana",extensions:["ppd"]},"application/vnd.cups-raster":{source:"iana"},"application/vnd.cups-raw":{source:"iana"},"application/vnd.curl":{source:"iana"},"application/vnd.curl.car":{source:"apache",extensions:["car"]},"application/vnd.curl.pcurl":{source:"apache",extensions:["pcurl"]},"application/vnd.cyan.dean.root+xml":{source:"iana",compressible:!0},"application/vnd.cybank":{source:"iana"},"application/vnd.cyclonedx+json":{source:"iana",compressible:!0},"application/vnd.cyclonedx+xml":{source:"iana",compressible:!0},"application/vnd.d2l.coursepackage1p0+zip":{source:"iana",compressible:!1},"application/vnd.d3m-dataset":{source:"iana"},"application/vnd.d3m-problem":{source:"iana"},"application/vnd.dart":{source:"iana",compressible:!0,extensions:["dart"]},"application/vnd.data-vision.rdz":{source:"iana",extensions:["rdz"]},"application/vnd.datalog":{source:"iana"},"application/vnd.datapackage+json":{source:"iana",compressible:!0},"application/vnd.dataresource+json":{source:"iana",compressible:!0},"application/vnd.dbf":{source:"iana",extensions:["dbf"]},"application/vnd.dcmp+xml":{source:"iana",compressible:!0,extensions:["dcmp"]},"application/vnd.debian.binary-package":{source:"iana"},"application/vnd.dece.data":{source:"iana",extensions:["uvf","uvvf","uvd","uvvd"]},"application/vnd.dece.ttml+xml":{source:"iana",compressible:!0,extensions:["uvt","uvvt"]},"application/vnd.dece.unspecified":{source:"iana",extensions:["uvx","uvvx"]},"application/vnd.dece.zip":{source:"iana",extensions:["uvz","uvvz"]},"application/vnd.denovo.fcselayout-link":{source:"iana",extensions:["fe_launch"]},"application/vnd.desmume.movie":{source:"iana"},"application/vnd.dir-bi.plate-dl-nosuffix":{source:"iana"},"application/vnd.dm.delegation+xml":{source:"iana",compressible:!0},"application/vnd.dna":{source:"iana",extensions:["dna"]},"application/vnd.document+json":{source:"iana",compressible:!0},"application/vnd.dolby.mlp":{source:"apache",extensions:["mlp"]},"application/vnd.dolby.mobile.1":{source:"iana"},"application/vnd.dolby.mobile.2":{source:"iana"},"application/vnd.doremir.scorecloud-binary-document":{source:"iana"},"application/vnd.dpgraph":{source:"iana",extensions:["dpg"]},"application/vnd.dreamfactory":{source:"iana",extensions:["dfac"]},"application/vnd.drive+json":{source:"iana",compressible:!0},"application/vnd.ds-keypoint":{source:"apache",extensions:["kpxx"]},"application/vnd.dtg.local":{source:"iana"},"application/vnd.dtg.local.flash":{source:"iana"},"application/vnd.dtg.local.html":{source:"iana"},"application/vnd.dvb.ait":{source:"iana",extensions:["ait"]},"application/vnd.dvb.dvbisl+xml":{source:"iana",compressible:!0},"application/vnd.dvb.dvbj":{source:"iana"},"application/vnd.dvb.esgcontainer":{source:"iana"},"application/vnd.dvb.ipdcdftnotifaccess":{source:"iana"},"application/vnd.dvb.ipdcesgaccess":{source:"iana"},"application/vnd.dvb.ipdcesgaccess2":{source:"iana"},"application/vnd.dvb.ipdcesgpdd":{source:"iana"},"application/vnd.dvb.ipdcroaming":{source:"iana"},"application/vnd.dvb.iptv.alfec-base":{source:"iana"},"application/vnd.dvb.iptv.alfec-enhancement":{source:"iana"},"application/vnd.dvb.notif-aggregate-root+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-container+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-generic+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-ia-msglist+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-ia-registration-request+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-ia-registration-response+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-init+xml":{source:"iana",compressible:!0},"application/vnd.dvb.pfr":{source:"iana"},"application/vnd.dvb.service":{source:"iana",extensions:["svc"]},"application/vnd.dxr":{source:"iana"},"application/vnd.dynageo":{source:"iana",extensions:["geo"]},"application/vnd.dzr":{source:"iana"},"application/vnd.easykaraoke.cdgdownload":{source:"iana"},"application/vnd.ecdis-update":{source:"iana"},"application/vnd.ecip.rlp":{source:"iana"},"application/vnd.eclipse.ditto+json":{source:"iana",compressible:!0},"application/vnd.ecowin.chart":{source:"iana",extensions:["mag"]},"application/vnd.ecowin.filerequest":{source:"iana"},"application/vnd.ecowin.fileupdate":{source:"iana"},"application/vnd.ecowin.series":{source:"iana"},"application/vnd.ecowin.seriesrequest":{source:"iana"},"application/vnd.ecowin.seriesupdate":{source:"iana"},"application/vnd.efi.img":{source:"iana"},"application/vnd.efi.iso":{source:"iana"},"application/vnd.eln+zip":{source:"iana",compressible:!1},"application/vnd.emclient.accessrequest+xml":{source:"iana",compressible:!0},"application/vnd.enliven":{source:"iana",extensions:["nml"]},"application/vnd.enphase.envoy":{source:"iana"},"application/vnd.eprints.data+xml":{source:"iana",compressible:!0},"application/vnd.epson.esf":{source:"iana",extensions:["esf"]},"application/vnd.epson.msf":{source:"iana",extensions:["msf"]},"application/vnd.epson.quickanime":{source:"iana",extensions:["qam"]},"application/vnd.epson.salt":{source:"iana",extensions:["slt"]},"application/vnd.epson.ssf":{source:"iana",extensions:["ssf"]},"application/vnd.ericsson.quickcall":{source:"iana"},"application/vnd.erofs":{source:"iana"},"application/vnd.espass-espass+zip":{source:"iana",compressible:!1},"application/vnd.eszigno3+xml":{source:"iana",compressible:!0,extensions:["es3","et3"]},"application/vnd.etsi.aoc+xml":{source:"iana",compressible:!0},"application/vnd.etsi.asic-e+zip":{source:"iana",compressible:!1},"application/vnd.etsi.asic-s+zip":{source:"iana",compressible:!1},"application/vnd.etsi.cug+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvcommand+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvdiscovery+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvprofile+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsad-bc+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsad-cod+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsad-npvr+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvservice+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsync+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvueprofile+xml":{source:"iana",compressible:!0},"application/vnd.etsi.mcid+xml":{source:"iana",compressible:!0},"application/vnd.etsi.mheg5":{source:"iana"},"application/vnd.etsi.overload-control-policy-dataset+xml":{source:"iana",compressible:!0},"application/vnd.etsi.pstn+xml":{source:"iana",compressible:!0},"application/vnd.etsi.sci+xml":{source:"iana",compressible:!0},"application/vnd.etsi.simservs+xml":{source:"iana",compressible:!0},"application/vnd.etsi.timestamp-token":{source:"iana"},"application/vnd.etsi.tsl+xml":{source:"iana",compressible:!0},"application/vnd.etsi.tsl.der":{source:"iana"},"application/vnd.eu.kasparian.car+json":{source:"iana",compressible:!0},"application/vnd.eudora.data":{source:"iana"},"application/vnd.evolv.ecig.profile":{source:"iana"},"application/vnd.evolv.ecig.settings":{source:"iana"},"application/vnd.evolv.ecig.theme":{source:"iana"},"application/vnd.exstream-empower+zip":{source:"iana",compressible:!1},"application/vnd.exstream-package":{source:"iana"},"application/vnd.ezpix-album":{source:"iana",extensions:["ez2"]},"application/vnd.ezpix-package":{source:"iana",extensions:["ez3"]},"application/vnd.f-secure.mobile":{source:"iana"},"application/vnd.familysearch.gedcom+zip":{source:"iana",compressible:!1},"application/vnd.fastcopy-disk-image":{source:"iana"},"application/vnd.fdf":{source:"apache",extensions:["fdf"]},"application/vnd.fdsn.mseed":{source:"iana",extensions:["mseed"]},"application/vnd.fdsn.seed":{source:"iana",extensions:["seed","dataless"]},"application/vnd.fdsn.stationxml+xml":{source:"iana",charset:"XML-BASED",compressible:!0},"application/vnd.ffsns":{source:"iana"},"application/vnd.ficlab.flb+zip":{source:"iana",compressible:!1},"application/vnd.filmit.zfc":{source:"iana"},"application/vnd.fints":{source:"iana"},"application/vnd.firemonkeys.cloudcell":{source:"iana"},"application/vnd.flographit":{source:"iana",extensions:["gph"]},"application/vnd.fluxtime.clip":{source:"iana",extensions:["ftc"]},"application/vnd.font-fontforge-sfd":{source:"iana"},"application/vnd.framemaker":{source:"iana",extensions:["fm","frame","maker","book"]},"application/vnd.freelog.comic":{source:"iana"},"application/vnd.frogans.fnc":{source:"apache",extensions:["fnc"]},"application/vnd.frogans.ltf":{source:"apache",extensions:["ltf"]},"application/vnd.fsc.weblaunch":{source:"iana",extensions:["fsc"]},"application/vnd.fujifilm.fb.docuworks":{source:"iana"},"application/vnd.fujifilm.fb.docuworks.binder":{source:"iana"},"application/vnd.fujifilm.fb.docuworks.container":{source:"iana"},"application/vnd.fujifilm.fb.jfi+xml":{source:"iana",compressible:!0},"application/vnd.fujitsu.oasys":{source:"iana",extensions:["oas"]},"application/vnd.fujitsu.oasys2":{source:"iana",extensions:["oa2"]},"application/vnd.fujitsu.oasys3":{source:"iana",extensions:["oa3"]},"application/vnd.fujitsu.oasysgp":{source:"iana",extensions:["fg5"]},"application/vnd.fujitsu.oasysprs":{source:"iana",extensions:["bh2"]},"application/vnd.fujixerox.art-ex":{source:"iana"},"application/vnd.fujixerox.art4":{source:"iana"},"application/vnd.fujixerox.ddd":{source:"iana",extensions:["ddd"]},"application/vnd.fujixerox.docuworks":{source:"iana",extensions:["xdw"]},"application/vnd.fujixerox.docuworks.binder":{source:"iana",extensions:["xbd"]},"application/vnd.fujixerox.docuworks.container":{source:"iana"},"application/vnd.fujixerox.hbpl":{source:"iana"},"application/vnd.fut-misnet":{source:"iana"},"application/vnd.futoin+cbor":{source:"iana"},"application/vnd.futoin+json":{source:"iana",compressible:!0},"application/vnd.fuzzysheet":{source:"iana",extensions:["fzs"]},"application/vnd.ga4gh.passport+jwt":{source:"iana"},"application/vnd.genomatix.tuxedo":{source:"iana",extensions:["txd"]},"application/vnd.genozip":{source:"iana"},"application/vnd.gentics.grd+json":{source:"iana",compressible:!0},"application/vnd.gentoo.catmetadata+xml":{source:"iana",compressible:!0},"application/vnd.gentoo.ebuild":{source:"iana"},"application/vnd.gentoo.eclass":{source:"iana"},"application/vnd.gentoo.gpkg":{source:"iana"},"application/vnd.gentoo.manifest":{source:"iana"},"application/vnd.gentoo.pkgmetadata+xml":{source:"iana",compressible:!0},"application/vnd.gentoo.xpak":{source:"iana"},"application/vnd.geo+json":{source:"apache",compressible:!0},"application/vnd.geocube+xml":{source:"apache",compressible:!0},"application/vnd.geogebra.file":{source:"iana",extensions:["ggb"]},"application/vnd.geogebra.pinboard":{source:"iana"},"application/vnd.geogebra.slides":{source:"iana",extensions:["ggs"]},"application/vnd.geogebra.tool":{source:"iana",extensions:["ggt"]},"application/vnd.geometry-explorer":{source:"iana",extensions:["gex","gre"]},"application/vnd.geonext":{source:"iana",extensions:["gxt"]},"application/vnd.geoplan":{source:"iana",extensions:["g2w"]},"application/vnd.geospace":{source:"iana",extensions:["g3w"]},"application/vnd.gerber":{source:"iana"},"application/vnd.globalplatform.card-content-mgt":{source:"iana"},"application/vnd.globalplatform.card-content-mgt-response":{source:"iana"},"application/vnd.gmx":{source:"iana",extensions:["gmx"]},"application/vnd.gnu.taler.exchange+json":{source:"iana",compressible:!0},"application/vnd.gnu.taler.merchant+json":{source:"iana",compressible:!0},"application/vnd.google-apps.audio":{},"application/vnd.google-apps.document":{compressible:!1,extensions:["gdoc"]},"application/vnd.google-apps.drawing":{compressible:!1,extensions:["gdraw"]},"application/vnd.google-apps.drive-sdk":{compressible:!1},"application/vnd.google-apps.file":{},"application/vnd.google-apps.folder":{compressible:!1},"application/vnd.google-apps.form":{compressible:!1,extensions:["gform"]},"application/vnd.google-apps.fusiontable":{},"application/vnd.google-apps.jam":{compressible:!1,extensions:["gjam"]},"application/vnd.google-apps.mail-layout":{},"application/vnd.google-apps.map":{compressible:!1,extensions:["gmap"]},"application/vnd.google-apps.photo":{},"application/vnd.google-apps.presentation":{compressible:!1,extensions:["gslides"]},"application/vnd.google-apps.script":{compressible:!1,extensions:["gscript"]},"application/vnd.google-apps.shortcut":{},"application/vnd.google-apps.site":{compressible:!1,extensions:["gsite"]},"application/vnd.google-apps.spreadsheet":{compressible:!1,extensions:["gsheet"]},"application/vnd.google-apps.unknown":{},"application/vnd.google-apps.video":{},"application/vnd.google-earth.kml+xml":{source:"iana",compressible:!0,extensions:["kml"]},"application/vnd.google-earth.kmz":{source:"iana",compressible:!1,extensions:["kmz"]},"application/vnd.gov.sk.e-form+xml":{source:"apache",compressible:!0},"application/vnd.gov.sk.e-form+zip":{source:"iana",compressible:!1},"application/vnd.gov.sk.xmldatacontainer+xml":{source:"iana",compressible:!0,extensions:["xdcf"]},"application/vnd.gpxsee.map+xml":{source:"iana",compressible:!0},"application/vnd.grafeq":{source:"iana",extensions:["gqf","gqs"]},"application/vnd.gridmp":{source:"iana"},"application/vnd.groove-account":{source:"iana",extensions:["gac"]},"application/vnd.groove-help":{source:"iana",extensions:["ghf"]},"application/vnd.groove-identity-message":{source:"iana",extensions:["gim"]},"application/vnd.groove-injector":{source:"iana",extensions:["grv"]},"application/vnd.groove-tool-message":{source:"iana",extensions:["gtm"]},"application/vnd.groove-tool-template":{source:"iana",extensions:["tpl"]},"application/vnd.groove-vcard":{source:"iana",extensions:["vcg"]},"application/vnd.hal+json":{source:"iana",compressible:!0},"application/vnd.hal+xml":{source:"iana",compressible:!0,extensions:["hal"]},"application/vnd.handheld-entertainment+xml":{source:"iana",compressible:!0,extensions:["zmm"]},"application/vnd.hbci":{source:"iana",extensions:["hbci"]},"application/vnd.hc+json":{source:"iana",compressible:!0},"application/vnd.hcl-bireports":{source:"iana"},"application/vnd.hdt":{source:"iana"},"application/vnd.heroku+json":{source:"iana",compressible:!0},"application/vnd.hhe.lesson-player":{source:"iana",extensions:["les"]},"application/vnd.hp-hpgl":{source:"iana",extensions:["hpgl"]},"application/vnd.hp-hpid":{source:"iana",extensions:["hpid"]},"application/vnd.hp-hps":{source:"iana",extensions:["hps"]},"application/vnd.hp-jlyt":{source:"iana",extensions:["jlt"]},"application/vnd.hp-pcl":{source:"iana",extensions:["pcl"]},"application/vnd.hp-pclxl":{source:"iana",extensions:["pclxl"]},"application/vnd.hsl":{source:"iana"},"application/vnd.httphone":{source:"iana"},"application/vnd.hydrostatix.sof-data":{source:"iana",extensions:["sfd-hdstx"]},"application/vnd.hyper+json":{source:"iana",compressible:!0},"application/vnd.hyper-item+json":{source:"iana",compressible:!0},"application/vnd.hyperdrive+json":{source:"iana",compressible:!0},"application/vnd.hzn-3d-crossword":{source:"iana"},"application/vnd.ibm.afplinedata":{source:"apache"},"application/vnd.ibm.electronic-media":{source:"iana"},"application/vnd.ibm.minipay":{source:"iana",extensions:["mpy"]},"application/vnd.ibm.modcap":{source:"apache",extensions:["afp","listafp","list3820"]},"application/vnd.ibm.rights-management":{source:"iana",extensions:["irm"]},"application/vnd.ibm.secure-container":{source:"iana",extensions:["sc"]},"application/vnd.iccprofile":{source:"iana",extensions:["icc","icm"]},"application/vnd.ieee.1905":{source:"iana"},"application/vnd.igloader":{source:"iana",extensions:["igl"]},"application/vnd.imagemeter.folder+zip":{source:"iana",compressible:!1},"application/vnd.imagemeter.image+zip":{source:"iana",compressible:!1},"application/vnd.immervision-ivp":{source:"iana",extensions:["ivp"]},"application/vnd.immervision-ivu":{source:"iana",extensions:["ivu"]},"application/vnd.ims.imsccv1p1":{source:"iana"},"application/vnd.ims.imsccv1p2":{source:"iana"},"application/vnd.ims.imsccv1p3":{source:"iana"},"application/vnd.ims.lis.v2.result+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolconsumerprofile+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolproxy+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolproxy.id+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolsettings+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolsettings.simple+json":{source:"iana",compressible:!0},"application/vnd.informedcontrol.rms+xml":{source:"iana",compressible:!0},"application/vnd.informix-visionary":{source:"apache"},"application/vnd.infotech.project":{source:"iana"},"application/vnd.infotech.project+xml":{source:"iana",compressible:!0},"application/vnd.innopath.wamp.notification":{source:"iana"},"application/vnd.insors.igm":{source:"iana",extensions:["igm"]},"application/vnd.intercon.formnet":{source:"iana",extensions:["xpw","xpx"]},"application/vnd.intergeo":{source:"iana",extensions:["i2g"]},"application/vnd.intertrust.digibox":{source:"iana"},"application/vnd.intertrust.nncp":{source:"iana"},"application/vnd.intu.qbo":{source:"iana",extensions:["qbo"]},"application/vnd.intu.qfx":{source:"iana",extensions:["qfx"]},"application/vnd.ipfs.ipns-record":{source:"iana"},"application/vnd.ipld.car":{source:"iana"},"application/vnd.ipld.dag-cbor":{source:"iana"},"application/vnd.ipld.dag-json":{source:"iana"},"application/vnd.ipld.raw":{source:"iana"},"application/vnd.iptc.g2.catalogitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.conceptitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.knowledgeitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.newsitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.newsmessage+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.packageitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.planningitem+xml":{source:"iana",compressible:!0},"application/vnd.ipunplugged.rcprofile":{source:"iana",extensions:["rcprofile"]},"application/vnd.irepository.package+xml":{source:"iana",compressible:!0,extensions:["irp"]},"application/vnd.is-xpr":{source:"iana",extensions:["xpr"]},"application/vnd.isac.fcs":{source:"iana",extensions:["fcs"]},"application/vnd.iso11783-10+zip":{source:"iana",compressible:!1},"application/vnd.jam":{source:"iana",extensions:["jam"]},"application/vnd.japannet-directory-service":{source:"iana"},"application/vnd.japannet-jpnstore-wakeup":{source:"iana"},"application/vnd.japannet-payment-wakeup":{source:"iana"},"application/vnd.japannet-registration":{source:"iana"},"application/vnd.japannet-registration-wakeup":{source:"iana"},"application/vnd.japannet-setstore-wakeup":{source:"iana"},"application/vnd.japannet-verification":{source:"iana"},"application/vnd.japannet-verification-wakeup":{source:"iana"},"application/vnd.jcp.javame.midlet-rms":{source:"iana",extensions:["rms"]},"application/vnd.jisp":{source:"iana",extensions:["jisp"]},"application/vnd.joost.joda-archive":{source:"iana",extensions:["joda"]},"application/vnd.jsk.isdn-ngn":{source:"iana"},"application/vnd.kahootz":{source:"iana",extensions:["ktz","ktr"]},"application/vnd.kde.karbon":{source:"iana",extensions:["karbon"]},"application/vnd.kde.kchart":{source:"iana",extensions:["chrt"]},"application/vnd.kde.kformula":{source:"iana",extensions:["kfo"]},"application/vnd.kde.kivio":{source:"iana",extensions:["flw"]},"application/vnd.kde.kontour":{source:"iana",extensions:["kon"]},"application/vnd.kde.kpresenter":{source:"iana",extensions:["kpr","kpt"]},"application/vnd.kde.kspread":{source:"iana",extensions:["ksp"]},"application/vnd.kde.kword":{source:"iana",extensions:["kwd","kwt"]},"application/vnd.kdl":{source:"iana"},"application/vnd.kenameaapp":{source:"iana",extensions:["htke"]},"application/vnd.keyman.kmp+zip":{source:"iana",compressible:!1},"application/vnd.keyman.kmx":{source:"iana"},"application/vnd.kidspiration":{source:"iana",extensions:["kia"]},"application/vnd.kinar":{source:"iana",extensions:["kne","knp"]},"application/vnd.koan":{source:"iana",extensions:["skp","skd","skt","skm"]},"application/vnd.kodak-descriptor":{source:"iana",extensions:["sse"]},"application/vnd.las":{source:"iana"},"application/vnd.las.las+json":{source:"iana",compressible:!0},"application/vnd.las.las+xml":{source:"iana",compressible:!0,extensions:["lasxml"]},"application/vnd.laszip":{source:"iana"},"application/vnd.ldev.productlicensing":{source:"iana"},"application/vnd.leap+json":{source:"iana",compressible:!0},"application/vnd.liberty-request+xml":{source:"iana",compressible:!0},"application/vnd.llamagraphics.life-balance.desktop":{source:"iana",extensions:["lbd"]},"application/vnd.llamagraphics.life-balance.exchange+xml":{source:"iana",compressible:!0,extensions:["lbe"]},"application/vnd.logipipe.circuit+zip":{source:"iana",compressible:!1},"application/vnd.loom":{source:"iana"},"application/vnd.lotus-1-2-3":{source:"iana",extensions:["123"]},"application/vnd.lotus-approach":{source:"iana",extensions:["apr"]},"application/vnd.lotus-freelance":{source:"iana",extensions:["pre"]},"application/vnd.lotus-notes":{source:"iana",extensions:["nsf"]},"application/vnd.lotus-organizer":{source:"iana",extensions:["org"]},"application/vnd.lotus-screencam":{source:"iana",extensions:["scm"]},"application/vnd.lotus-wordpro":{source:"iana",extensions:["lwp"]},"application/vnd.macports.portpkg":{source:"iana",extensions:["portpkg"]},"application/vnd.mapbox-vector-tile":{source:"iana",extensions:["mvt"]},"application/vnd.marlin.drm.actiontoken+xml":{source:"iana",compressible:!0},"application/vnd.marlin.drm.conftoken+xml":{source:"iana",compressible:!0},"application/vnd.marlin.drm.license+xml":{source:"iana",compressible:!0},"application/vnd.marlin.drm.mdcf":{source:"iana"},"application/vnd.mason+json":{source:"iana",compressible:!0},"application/vnd.maxar.archive.3tz+zip":{source:"iana",compressible:!1},"application/vnd.maxmind.maxmind-db":{source:"iana"},"application/vnd.mcd":{source:"iana",extensions:["mcd"]},"application/vnd.mdl":{source:"iana"},"application/vnd.mdl-mbsdf":{source:"iana"},"application/vnd.medcalcdata":{source:"iana",extensions:["mc1"]},"application/vnd.mediastation.cdkey":{source:"iana",extensions:["cdkey"]},"application/vnd.medicalholodeck.recordxr":{source:"iana"},"application/vnd.meridian-slingshot":{source:"iana"},"application/vnd.mermaid":{source:"iana"},"application/vnd.mfer":{source:"iana",extensions:["mwf"]},"application/vnd.mfmp":{source:"iana",extensions:["mfm"]},"application/vnd.micro+json":{source:"iana",compressible:!0},"application/vnd.micrografx.flo":{source:"iana",extensions:["flo"]},"application/vnd.micrografx.igx":{source:"iana",extensions:["igx"]},"application/vnd.microsoft.portable-executable":{source:"iana"},"application/vnd.microsoft.windows.thumbnail-cache":{source:"iana"},"application/vnd.miele+json":{source:"iana",compressible:!0},"application/vnd.mif":{source:"iana",extensions:["mif"]},"application/vnd.minisoft-hp3000-save":{source:"iana"},"application/vnd.mitsubishi.misty-guard.trustweb":{source:"iana"},"application/vnd.mobius.daf":{source:"iana",extensions:["daf"]},"application/vnd.mobius.dis":{source:"iana",extensions:["dis"]},"application/vnd.mobius.mbk":{source:"iana",extensions:["mbk"]},"application/vnd.mobius.mqy":{source:"iana",extensions:["mqy"]},"application/vnd.mobius.msl":{source:"iana",extensions:["msl"]},"application/vnd.mobius.plc":{source:"iana",extensions:["plc"]},"application/vnd.mobius.txf":{source:"iana",extensions:["txf"]},"application/vnd.modl":{source:"iana"},"application/vnd.mophun.application":{source:"iana",extensions:["mpn"]},"application/vnd.mophun.certificate":{source:"iana",extensions:["mpc"]},"application/vnd.motorola.flexsuite":{source:"iana"},"application/vnd.motorola.flexsuite.adsi":{source:"iana"},"application/vnd.motorola.flexsuite.fis":{source:"iana"},"application/vnd.motorola.flexsuite.gotap":{source:"iana"},"application/vnd.motorola.flexsuite.kmr":{source:"iana"},"application/vnd.motorola.flexsuite.ttc":{source:"iana"},"application/vnd.motorola.flexsuite.wem":{source:"iana"},"application/vnd.motorola.iprm":{source:"iana"},"application/vnd.mozilla.xul+xml":{source:"iana",compressible:!0,extensions:["xul"]},"application/vnd.ms-3mfdocument":{source:"iana"},"application/vnd.ms-artgalry":{source:"iana",extensions:["cil"]},"application/vnd.ms-asf":{source:"iana"},"application/vnd.ms-cab-compressed":{source:"iana",extensions:["cab"]},"application/vnd.ms-color.iccprofile":{source:"apache"},"application/vnd.ms-excel":{source:"iana",compressible:!1,extensions:["xls","xlm","xla","xlc","xlt","xlw"]},"application/vnd.ms-excel.addin.macroenabled.12":{source:"iana",extensions:["xlam"]},"application/vnd.ms-excel.sheet.binary.macroenabled.12":{source:"iana",extensions:["xlsb"]},"application/vnd.ms-excel.sheet.macroenabled.12":{source:"iana",extensions:["xlsm"]},"application/vnd.ms-excel.template.macroenabled.12":{source:"iana",extensions:["xltm"]},"application/vnd.ms-fontobject":{source:"iana",compressible:!0,extensions:["eot"]},"application/vnd.ms-htmlhelp":{source:"iana",extensions:["chm"]},"application/vnd.ms-ims":{source:"iana",extensions:["ims"]},"application/vnd.ms-lrm":{source:"iana",extensions:["lrm"]},"application/vnd.ms-office.activex+xml":{source:"iana",compressible:!0},"application/vnd.ms-officetheme":{source:"iana",extensions:["thmx"]},"application/vnd.ms-opentype":{source:"apache",compressible:!0},"application/vnd.ms-outlook":{compressible:!1,extensions:["msg"]},"application/vnd.ms-package.obfuscated-opentype":{source:"apache"},"application/vnd.ms-pki.seccat":{source:"apache",extensions:["cat"]},"application/vnd.ms-pki.stl":{source:"apache",extensions:["stl"]},"application/vnd.ms-playready.initiator+xml":{source:"iana",compressible:!0},"application/vnd.ms-powerpoint":{source:"iana",compressible:!1,extensions:["ppt","pps","pot"]},"application/vnd.ms-powerpoint.addin.macroenabled.12":{source:"iana",extensions:["ppam"]},"application/vnd.ms-powerpoint.presentation.macroenabled.12":{source:"iana",extensions:["pptm"]},"application/vnd.ms-powerpoint.slide.macroenabled.12":{source:"iana",extensions:["sldm"]},"application/vnd.ms-powerpoint.slideshow.macroenabled.12":{source:"iana",extensions:["ppsm"]},"application/vnd.ms-powerpoint.template.macroenabled.12":{source:"iana",extensions:["potm"]},"application/vnd.ms-printdevicecapabilities+xml":{source:"iana",compressible:!0},"application/vnd.ms-printing.printticket+xml":{source:"apache",compressible:!0},"application/vnd.ms-printschematicket+xml":{source:"iana",compressible:!0},"application/vnd.ms-project":{source:"iana",extensions:["mpp","mpt"]},"application/vnd.ms-tnef":{source:"iana"},"application/vnd.ms-visio.viewer":{extensions:["vdx"]},"application/vnd.ms-windows.devicepairing":{source:"iana"},"application/vnd.ms-windows.nwprinting.oob":{source:"iana"},"application/vnd.ms-windows.printerpairing":{source:"iana"},"application/vnd.ms-windows.wsd.oob":{source:"iana"},"application/vnd.ms-wmdrm.lic-chlg-req":{source:"iana"},"application/vnd.ms-wmdrm.lic-resp":{source:"iana"},"application/vnd.ms-wmdrm.meter-chlg-req":{source:"iana"},"application/vnd.ms-wmdrm.meter-resp":{source:"iana"},"application/vnd.ms-word.document.macroenabled.12":{source:"iana",extensions:["docm"]},"application/vnd.ms-word.template.macroenabled.12":{source:"iana",extensions:["dotm"]},"application/vnd.ms-works":{source:"iana",extensions:["wps","wks","wcm","wdb"]},"application/vnd.ms-wpl":{source:"iana",extensions:["wpl"]},"application/vnd.ms-xpsdocument":{source:"iana",compressible:!1,extensions:["xps"]},"application/vnd.msa-disk-image":{source:"iana"},"application/vnd.mseq":{source:"iana",extensions:["mseq"]},"application/vnd.msgpack":{source:"iana"},"application/vnd.msign":{source:"iana"},"application/vnd.multiad.creator":{source:"iana"},"application/vnd.multiad.creator.cif":{source:"iana"},"application/vnd.music-niff":{source:"iana"},"application/vnd.musician":{source:"iana",extensions:["mus"]},"application/vnd.muvee.style":{source:"iana",extensions:["msty"]},"application/vnd.mynfc":{source:"iana",extensions:["taglet"]},"application/vnd.nacamar.ybrid+json":{source:"iana",compressible:!0},"application/vnd.nato.bindingdataobject+cbor":{source:"iana"},"application/vnd.nato.bindingdataobject+json":{source:"iana",compressible:!0},"application/vnd.nato.bindingdataobject+xml":{source:"iana",compressible:!0,extensions:["bdo"]},"application/vnd.nato.openxmlformats-package.iepd+zip":{source:"iana",compressible:!1},"application/vnd.ncd.control":{source:"iana"},"application/vnd.ncd.reference":{source:"iana"},"application/vnd.nearst.inv+json":{source:"iana",compressible:!0},"application/vnd.nebumind.line":{source:"iana"},"application/vnd.nervana":{source:"iana"},"application/vnd.netfpx":{source:"iana"},"application/vnd.neurolanguage.nlu":{source:"iana",extensions:["nlu"]},"application/vnd.nimn":{source:"iana"},"application/vnd.nintendo.nitro.rom":{source:"iana"},"application/vnd.nintendo.snes.rom":{source:"iana"},"application/vnd.nitf":{source:"iana",extensions:["ntf","nitf"]},"application/vnd.noblenet-directory":{source:"iana",extensions:["nnd"]},"application/vnd.noblenet-sealer":{source:"iana",extensions:["nns"]},"application/vnd.noblenet-web":{source:"iana",extensions:["nnw"]},"application/vnd.nokia.catalogs":{source:"iana"},"application/vnd.nokia.conml+wbxml":{source:"iana"},"application/vnd.nokia.conml+xml":{source:"iana",compressible:!0},"application/vnd.nokia.iptv.config+xml":{source:"iana",compressible:!0},"application/vnd.nokia.isds-radio-presets":{source:"iana"},"application/vnd.nokia.landmark+wbxml":{source:"iana"},"application/vnd.nokia.landmark+xml":{source:"iana",compressible:!0},"application/vnd.nokia.landmarkcollection+xml":{source:"iana",compressible:!0},"application/vnd.nokia.n-gage.ac+xml":{source:"iana",compressible:!0,extensions:["ac"]},"application/vnd.nokia.n-gage.data":{source:"iana",extensions:["ngdat"]},"application/vnd.nokia.n-gage.symbian.install":{source:"apache",extensions:["n-gage"]},"application/vnd.nokia.ncd":{source:"iana"},"application/vnd.nokia.pcd+wbxml":{source:"iana"},"application/vnd.nokia.pcd+xml":{source:"iana",compressible:!0},"application/vnd.nokia.radio-preset":{source:"iana",extensions:["rpst"]},"application/vnd.nokia.radio-presets":{source:"iana",extensions:["rpss"]},"application/vnd.novadigm.edm":{source:"iana",extensions:["edm"]},"application/vnd.novadigm.edx":{source:"iana",extensions:["edx"]},"application/vnd.novadigm.ext":{source:"iana",extensions:["ext"]},"application/vnd.ntt-local.content-share":{source:"iana"},"application/vnd.ntt-local.file-transfer":{source:"iana"},"application/vnd.ntt-local.ogw_remote-access":{source:"iana"},"application/vnd.ntt-local.sip-ta_remote":{source:"iana"},"application/vnd.ntt-local.sip-ta_tcp_stream":{source:"iana"},"application/vnd.oai.workflows":{source:"iana"},"application/vnd.oai.workflows+json":{source:"iana",compressible:!0},"application/vnd.oai.workflows+yaml":{source:"iana"},"application/vnd.oasis.opendocument.base":{source:"iana"},"application/vnd.oasis.opendocument.chart":{source:"iana",extensions:["odc"]},"application/vnd.oasis.opendocument.chart-template":{source:"iana",extensions:["otc"]},"application/vnd.oasis.opendocument.database":{source:"apache",extensions:["odb"]},"application/vnd.oasis.opendocument.formula":{source:"iana",extensions:["odf"]},"application/vnd.oasis.opendocument.formula-template":{source:"iana",extensions:["odft"]},"application/vnd.oasis.opendocument.graphics":{source:"iana",compressible:!1,extensions:["odg"]},"application/vnd.oasis.opendocument.graphics-template":{source:"iana",extensions:["otg"]},"application/vnd.oasis.opendocument.image":{source:"iana",extensions:["odi"]},"application/vnd.oasis.opendocument.image-template":{source:"iana",extensions:["oti"]},"application/vnd.oasis.opendocument.presentation":{source:"iana",compressible:!1,extensions:["odp"]},"application/vnd.oasis.opendocument.presentation-template":{source:"iana",extensions:["otp"]},"application/vnd.oasis.opendocument.spreadsheet":{source:"iana",compressible:!1,extensions:["ods"]},"application/vnd.oasis.opendocument.spreadsheet-template":{source:"iana",extensions:["ots"]},"application/vnd.oasis.opendocument.text":{source:"iana",compressible:!1,extensions:["odt"]},"application/vnd.oasis.opendocument.text-master":{source:"iana",extensions:["odm"]},"application/vnd.oasis.opendocument.text-master-template":{source:"iana"},"application/vnd.oasis.opendocument.text-template":{source:"iana",extensions:["ott"]},"application/vnd.oasis.opendocument.text-web":{source:"iana",extensions:["oth"]},"application/vnd.obn":{source:"iana"},"application/vnd.ocf+cbor":{source:"iana"},"application/vnd.oci.image.manifest.v1+json":{source:"iana",compressible:!0},"application/vnd.oftn.l10n+json":{source:"iana",compressible:!0},"application/vnd.oipf.contentaccessdownload+xml":{source:"iana",compressible:!0},"application/vnd.oipf.contentaccessstreaming+xml":{source:"iana",compressible:!0},"application/vnd.oipf.cspg-hexbinary":{source:"iana"},"application/vnd.oipf.dae.svg+xml":{source:"iana",compressible:!0},"application/vnd.oipf.dae.xhtml+xml":{source:"iana",compressible:!0},"application/vnd.oipf.mippvcontrolmessage+xml":{source:"iana",compressible:!0},"application/vnd.oipf.pae.gem":{source:"iana"},"application/vnd.oipf.spdiscovery+xml":{source:"iana",compressible:!0},"application/vnd.oipf.spdlist+xml":{source:"iana",compressible:!0},"application/vnd.oipf.ueprofile+xml":{source:"iana",compressible:!0},"application/vnd.oipf.userprofile+xml":{source:"iana",compressible:!0},"application/vnd.olpc-sugar":{source:"iana",extensions:["xo"]},"application/vnd.oma-scws-config":{source:"iana"},"application/vnd.oma-scws-http-request":{source:"iana"},"application/vnd.oma-scws-http-response":{source:"iana"},"application/vnd.oma.bcast.associated-procedure-parameter+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.drm-trigger+xml":{source:"apache",compressible:!0},"application/vnd.oma.bcast.imd+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.ltkm":{source:"iana"},"application/vnd.oma.bcast.notification+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.provisioningtrigger":{source:"iana"},"application/vnd.oma.bcast.sgboot":{source:"iana"},"application/vnd.oma.bcast.sgdd+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.sgdu":{source:"iana"},"application/vnd.oma.bcast.simple-symbol-container":{source:"iana"},"application/vnd.oma.bcast.smartcard-trigger+xml":{source:"apache",compressible:!0},"application/vnd.oma.bcast.sprov+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.stkm":{source:"iana"},"application/vnd.oma.cab-address-book+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-feature-handler+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-pcc+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-subs-invite+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-user-prefs+xml":{source:"iana",compressible:!0},"application/vnd.oma.dcd":{source:"iana"},"application/vnd.oma.dcdc":{source:"iana"},"application/vnd.oma.dd2+xml":{source:"iana",compressible:!0,extensions:["dd2"]},"application/vnd.oma.drm.risd+xml":{source:"iana",compressible:!0},"application/vnd.oma.group-usage-list+xml":{source:"iana",compressible:!0},"application/vnd.oma.lwm2m+cbor":{source:"iana"},"application/vnd.oma.lwm2m+json":{source:"iana",compressible:!0},"application/vnd.oma.lwm2m+tlv":{source:"iana"},"application/vnd.oma.pal+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.detailed-progress-report+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.final-report+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.groups+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.invocation-descriptor+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.optimized-progress-report+xml":{source:"iana",compressible:!0},"application/vnd.oma.push":{source:"iana"},"application/vnd.oma.scidm.messages+xml":{source:"iana",compressible:!0},"application/vnd.oma.xcap-directory+xml":{source:"iana",compressible:!0},"application/vnd.omads-email+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.omads-file+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.omads-folder+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.omaloc-supl-init":{source:"iana"},"application/vnd.onepager":{source:"iana"},"application/vnd.onepagertamp":{source:"iana"},"application/vnd.onepagertamx":{source:"iana"},"application/vnd.onepagertat":{source:"iana"},"application/vnd.onepagertatp":{source:"iana"},"application/vnd.onepagertatx":{source:"iana"},"application/vnd.onvif.metadata":{source:"iana"},"application/vnd.openblox.game+xml":{source:"iana",compressible:!0,extensions:["obgx"]},"application/vnd.openblox.game-binary":{source:"iana"},"application/vnd.openeye.oeb":{source:"iana"},"application/vnd.openofficeorg.extension":{source:"apache",extensions:["oxt"]},"application/vnd.openstreetmap.data+xml":{source:"iana",compressible:!0,extensions:["osm"]},"application/vnd.opentimestamps.ots":{source:"iana"},"application/vnd.openvpi.dspx+json":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.custom-properties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.customxmlproperties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawing+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.chart+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.extended-properties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.comments+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.presentation":{source:"iana",compressible:!1,extensions:["pptx"]},"application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.presprops+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slide":{source:"iana",extensions:["sldx"]},"application/vnd.openxmlformats-officedocument.presentationml.slide+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slideshow":{source:"iana",extensions:["ppsx"]},"application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.tags+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.template":{source:"iana",extensions:["potx"]},"application/vnd.openxmlformats-officedocument.presentationml.template.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":{source:"iana",compressible:!1,extensions:["xlsx"]},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.template":{source:"iana",extensions:["xltx"]},"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.theme+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.themeoverride+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.vmldrawing":{source:"iana"},"application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.document":{source:"iana",compressible:!1,extensions:["docx"]},"application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.template":{source:"iana",extensions:["dotx"]},"application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-package.core-properties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-package.relationships+xml":{source:"iana",compressible:!0},"application/vnd.oracle.resource+json":{source:"iana",compressible:!0},"application/vnd.orange.indata":{source:"iana"},"application/vnd.osa.netdeploy":{source:"iana"},"application/vnd.osgeo.mapguide.package":{source:"iana",extensions:["mgp"]},"application/vnd.osgi.bundle":{source:"iana"},"application/vnd.osgi.dp":{source:"iana",extensions:["dp"]},"application/vnd.osgi.subsystem":{source:"iana",extensions:["esa"]},"application/vnd.otps.ct-kip+xml":{source:"iana",compressible:!0},"application/vnd.oxli.countgraph":{source:"iana"},"application/vnd.pagerduty+json":{source:"iana",compressible:!0},"application/vnd.palm":{source:"iana",extensions:["pdb","pqa","oprc"]},"application/vnd.panoply":{source:"iana"},"application/vnd.paos.xml":{source:"iana"},"application/vnd.patentdive":{source:"iana"},"application/vnd.patientecommsdoc":{source:"iana"},"application/vnd.pawaafile":{source:"iana",extensions:["paw"]},"application/vnd.pcos":{source:"iana"},"application/vnd.pg.format":{source:"iana",extensions:["str"]},"application/vnd.pg.osasli":{source:"iana",extensions:["ei6"]},"application/vnd.piaccess.application-licence":{source:"iana"},"application/vnd.picsel":{source:"iana",extensions:["efif"]},"application/vnd.pmi.widget":{source:"iana",extensions:["wg"]},"application/vnd.poc.group-advertisement+xml":{source:"iana",compressible:!0},"application/vnd.pocketlearn":{source:"iana",extensions:["plf"]},"application/vnd.powerbuilder6":{source:"iana",extensions:["pbd"]},"application/vnd.powerbuilder6-s":{source:"iana"},"application/vnd.powerbuilder7":{source:"iana"},"application/vnd.powerbuilder7-s":{source:"iana"},"application/vnd.powerbuilder75":{source:"iana"},"application/vnd.powerbuilder75-s":{source:"iana"},"application/vnd.preminet":{source:"iana"},"application/vnd.previewsystems.box":{source:"iana",extensions:["box"]},"application/vnd.procrate.brushset":{extensions:["brushset"]},"application/vnd.procreate.brush":{extensions:["brush"]},"application/vnd.procreate.dream":{extensions:["drm"]},"application/vnd.proteus.magazine":{source:"iana",extensions:["mgz"]},"application/vnd.psfs":{source:"iana"},"application/vnd.pt.mundusmundi":{source:"iana"},"application/vnd.publishare-delta-tree":{source:"iana",extensions:["qps"]},"application/vnd.pvi.ptid1":{source:"iana",extensions:["ptid"]},"application/vnd.pwg-multiplexed":{source:"iana"},"application/vnd.pwg-xhtml-print+xml":{source:"iana",compressible:!0,extensions:["xhtm"]},"application/vnd.qualcomm.brew-app-res":{source:"iana"},"application/vnd.quarantainenet":{source:"iana"},"application/vnd.quark.quarkxpress":{source:"iana",extensions:["qxd","qxt","qwd","qwt","qxl","qxb"]},"application/vnd.quobject-quoxdocument":{source:"iana"},"application/vnd.radisys.moml+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-conf+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-conn+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-dialog+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-stream+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-conf+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-base+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-fax-detect+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-fax-sendrecv+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-group+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-speech+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-transform+xml":{source:"iana",compressible:!0},"application/vnd.rainstor.data":{source:"iana"},"application/vnd.rapid":{source:"iana"},"application/vnd.rar":{source:"iana",extensions:["rar"]},"application/vnd.realvnc.bed":{source:"iana",extensions:["bed"]},"application/vnd.recordare.musicxml":{source:"iana",extensions:["mxl"]},"application/vnd.recordare.musicxml+xml":{source:"iana",compressible:!0,extensions:["musicxml"]},"application/vnd.relpipe":{source:"iana"},"application/vnd.renlearn.rlprint":{source:"iana"},"application/vnd.resilient.logic":{source:"iana"},"application/vnd.restful+json":{source:"iana",compressible:!0},"application/vnd.rig.cryptonote":{source:"iana",extensions:["cryptonote"]},"application/vnd.rim.cod":{source:"apache",extensions:["cod"]},"application/vnd.rn-realmedia":{source:"apache",extensions:["rm"]},"application/vnd.rn-realmedia-vbr":{source:"apache",extensions:["rmvb"]},"application/vnd.route66.link66+xml":{source:"iana",compressible:!0,extensions:["link66"]},"application/vnd.rs-274x":{source:"iana"},"application/vnd.ruckus.download":{source:"iana"},"application/vnd.s3sms":{source:"iana"},"application/vnd.sailingtracker.track":{source:"iana",extensions:["st"]},"application/vnd.sar":{source:"iana"},"application/vnd.sbm.cid":{source:"iana"},"application/vnd.sbm.mid2":{source:"iana"},"application/vnd.scribus":{source:"iana"},"application/vnd.sealed.3df":{source:"iana"},"application/vnd.sealed.csf":{source:"iana"},"application/vnd.sealed.doc":{source:"iana"},"application/vnd.sealed.eml":{source:"iana"},"application/vnd.sealed.mht":{source:"iana"},"application/vnd.sealed.net":{source:"iana"},"application/vnd.sealed.ppt":{source:"iana"},"application/vnd.sealed.tiff":{source:"iana"},"application/vnd.sealed.xls":{source:"iana"},"application/vnd.sealedmedia.softseal.html":{source:"iana"},"application/vnd.sealedmedia.softseal.pdf":{source:"iana"},"application/vnd.seemail":{source:"iana",extensions:["see"]},"application/vnd.seis+json":{source:"iana",compressible:!0},"application/vnd.sema":{source:"iana",extensions:["sema"]},"application/vnd.semd":{source:"iana",extensions:["semd"]},"application/vnd.semf":{source:"iana",extensions:["semf"]},"application/vnd.shade-save-file":{source:"iana"},"application/vnd.shana.informed.formdata":{source:"iana",extensions:["ifm"]},"application/vnd.shana.informed.formtemplate":{source:"iana",extensions:["itp"]},"application/vnd.shana.informed.interchange":{source:"iana",extensions:["iif"]},"application/vnd.shana.informed.package":{source:"iana",extensions:["ipk"]},"application/vnd.shootproof+json":{source:"iana",compressible:!0},"application/vnd.shopkick+json":{source:"iana",compressible:!0},"application/vnd.shp":{source:"iana"},"application/vnd.shx":{source:"iana"},"application/vnd.sigrok.session":{source:"iana"},"application/vnd.simtech-mindmapper":{source:"iana",extensions:["twd","twds"]},"application/vnd.siren+json":{source:"iana",compressible:!0},"application/vnd.sketchometry":{source:"iana"},"application/vnd.smaf":{source:"iana",extensions:["mmf"]},"application/vnd.smart.notebook":{source:"iana"},"application/vnd.smart.teacher":{source:"iana",extensions:["teacher"]},"application/vnd.smintio.portals.archive":{source:"iana"},"application/vnd.snesdev-page-table":{source:"iana"},"application/vnd.software602.filler.form+xml":{source:"iana",compressible:!0,extensions:["fo"]},"application/vnd.software602.filler.form-xml-zip":{source:"iana"},"application/vnd.solent.sdkm+xml":{source:"iana",compressible:!0,extensions:["sdkm","sdkd"]},"application/vnd.spotfire.dxp":{source:"iana",extensions:["dxp"]},"application/vnd.spotfire.sfs":{source:"iana",extensions:["sfs"]},"application/vnd.sqlite3":{source:"iana"},"application/vnd.sss-cod":{source:"iana"},"application/vnd.sss-dtf":{source:"iana"},"application/vnd.sss-ntf":{source:"iana"},"application/vnd.stardivision.calc":{source:"apache",extensions:["sdc"]},"application/vnd.stardivision.draw":{source:"apache",extensions:["sda"]},"application/vnd.stardivision.impress":{source:"apache",extensions:["sdd"]},"application/vnd.stardivision.math":{source:"apache",extensions:["smf"]},"application/vnd.stardivision.writer":{source:"apache",extensions:["sdw","vor"]},"application/vnd.stardivision.writer-global":{source:"apache",extensions:["sgl"]},"application/vnd.stepmania.package":{source:"iana",extensions:["smzip"]},"application/vnd.stepmania.stepchart":{source:"iana",extensions:["sm"]},"application/vnd.street-stream":{source:"iana"},"application/vnd.sun.wadl+xml":{source:"iana",compressible:!0,extensions:["wadl"]},"application/vnd.sun.xml.calc":{source:"apache",extensions:["sxc"]},"application/vnd.sun.xml.calc.template":{source:"apache",extensions:["stc"]},"application/vnd.sun.xml.draw":{source:"apache",extensions:["sxd"]},"application/vnd.sun.xml.draw.template":{source:"apache",extensions:["std"]},"application/vnd.sun.xml.impress":{source:"apache",extensions:["sxi"]},"application/vnd.sun.xml.impress.template":{source:"apache",extensions:["sti"]},"application/vnd.sun.xml.math":{source:"apache",extensions:["sxm"]},"application/vnd.sun.xml.writer":{source:"apache",extensions:["sxw"]},"application/vnd.sun.xml.writer.global":{source:"apache",extensions:["sxg"]},"application/vnd.sun.xml.writer.template":{source:"apache",extensions:["stw"]},"application/vnd.sus-calendar":{source:"iana",extensions:["sus","susp"]},"application/vnd.svd":{source:"iana",extensions:["svd"]},"application/vnd.swiftview-ics":{source:"iana"},"application/vnd.sybyl.mol2":{source:"iana"},"application/vnd.sycle+xml":{source:"iana",compressible:!0},"application/vnd.syft+json":{source:"iana",compressible:!0},"application/vnd.symbian.install":{source:"apache",extensions:["sis","sisx"]},"application/vnd.syncml+xml":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["xsm"]},"application/vnd.syncml.dm+wbxml":{source:"iana",charset:"UTF-8",extensions:["bdm"]},"application/vnd.syncml.dm+xml":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["xdm"]},"application/vnd.syncml.dm.notification":{source:"iana"},"application/vnd.syncml.dmddf+wbxml":{source:"iana"},"application/vnd.syncml.dmddf+xml":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["ddf"]},"application/vnd.syncml.dmtnds+wbxml":{source:"iana"},"application/vnd.syncml.dmtnds+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.syncml.ds.notification":{source:"iana"},"application/vnd.tableschema+json":{source:"iana",compressible:!0},"application/vnd.tao.intent-module-archive":{source:"iana",extensions:["tao"]},"application/vnd.tcpdump.pcap":{source:"iana",extensions:["pcap","cap","dmp"]},"application/vnd.think-cell.ppttc+json":{source:"iana",compressible:!0},"application/vnd.tmd.mediaflex.api+xml":{source:"iana",compressible:!0},"application/vnd.tml":{source:"iana"},"application/vnd.tmobile-livetv":{source:"iana",extensions:["tmo"]},"application/vnd.tri.onesource":{source:"iana"},"application/vnd.trid.tpt":{source:"iana",extensions:["tpt"]},"application/vnd.triscape.mxs":{source:"iana",extensions:["mxs"]},"application/vnd.trueapp":{source:"iana",extensions:["tra"]},"application/vnd.truedoc":{source:"iana"},"application/vnd.ubisoft.webplayer":{source:"iana"},"application/vnd.ufdl":{source:"iana",extensions:["ufd","ufdl"]},"application/vnd.uic.osdm+json":{source:"iana",compressible:!0},"application/vnd.uiq.theme":{source:"iana",extensions:["utz"]},"application/vnd.umajin":{source:"iana",extensions:["umj"]},"application/vnd.unity":{source:"iana",extensions:["unityweb"]},"application/vnd.uoml+xml":{source:"iana",compressible:!0,extensions:["uoml","uo"]},"application/vnd.uplanet.alert":{source:"iana"},"application/vnd.uplanet.alert-wbxml":{source:"iana"},"application/vnd.uplanet.bearer-choice":{source:"iana"},"application/vnd.uplanet.bearer-choice-wbxml":{source:"iana"},"application/vnd.uplanet.cacheop":{source:"iana"},"application/vnd.uplanet.cacheop-wbxml":{source:"iana"},"application/vnd.uplanet.channel":{source:"iana"},"application/vnd.uplanet.channel-wbxml":{source:"iana"},"application/vnd.uplanet.list":{source:"iana"},"application/vnd.uplanet.list-wbxml":{source:"iana"},"application/vnd.uplanet.listcmd":{source:"iana"},"application/vnd.uplanet.listcmd-wbxml":{source:"iana"},"application/vnd.uplanet.signal":{source:"iana"},"application/vnd.uri-map":{source:"iana"},"application/vnd.valve.source.material":{source:"iana"},"application/vnd.vcx":{source:"iana",extensions:["vcx"]},"application/vnd.vd-study":{source:"iana"},"application/vnd.vectorworks":{source:"iana"},"application/vnd.vel+json":{source:"iana",compressible:!0},"application/vnd.veraison.tsm-report+cbor":{source:"iana"},"application/vnd.veraison.tsm-report+json":{source:"iana",compressible:!0},"application/vnd.verimatrix.vcas":{source:"iana"},"application/vnd.veritone.aion+json":{source:"iana",compressible:!0},"application/vnd.veryant.thin":{source:"iana"},"application/vnd.ves.encrypted":{source:"iana"},"application/vnd.vidsoft.vidconference":{source:"iana"},"application/vnd.visio":{source:"iana",extensions:["vsd","vst","vss","vsw","vsdx","vtx"]},"application/vnd.visionary":{source:"iana",extensions:["vis"]},"application/vnd.vividence.scriptfile":{source:"iana"},"application/vnd.vocalshaper.vsp4":{source:"iana"},"application/vnd.vsf":{source:"iana",extensions:["vsf"]},"application/vnd.wap.sic":{source:"iana"},"application/vnd.wap.slc":{source:"iana"},"application/vnd.wap.wbxml":{source:"iana",charset:"UTF-8",extensions:["wbxml"]},"application/vnd.wap.wmlc":{source:"iana",extensions:["wmlc"]},"application/vnd.wap.wmlscriptc":{source:"iana",extensions:["wmlsc"]},"application/vnd.wasmflow.wafl":{source:"iana"},"application/vnd.webturbo":{source:"iana",extensions:["wtb"]},"application/vnd.wfa.dpp":{source:"iana"},"application/vnd.wfa.p2p":{source:"iana"},"application/vnd.wfa.wsc":{source:"iana"},"application/vnd.windows.devicepairing":{source:"iana"},"application/vnd.wmc":{source:"iana"},"application/vnd.wmf.bootstrap":{source:"iana"},"application/vnd.wolfram.mathematica":{source:"iana"},"application/vnd.wolfram.mathematica.package":{source:"iana"},"application/vnd.wolfram.player":{source:"iana",extensions:["nbp"]},"application/vnd.wordlift":{source:"iana"},"application/vnd.wordperfect":{source:"iana",extensions:["wpd"]},"application/vnd.wqd":{source:"iana",extensions:["wqd"]},"application/vnd.wrq-hp3000-labelled":{source:"iana"},"application/vnd.wt.stf":{source:"iana",extensions:["stf"]},"application/vnd.wv.csp+wbxml":{source:"iana"},"application/vnd.wv.csp+xml":{source:"iana",compressible:!0},"application/vnd.wv.ssp+xml":{source:"iana",compressible:!0},"application/vnd.xacml+json":{source:"iana",compressible:!0},"application/vnd.xara":{source:"iana",extensions:["xar"]},"application/vnd.xarin.cpj":{source:"iana"},"application/vnd.xecrets-encrypted":{source:"iana"},"application/vnd.xfdl":{source:"iana",extensions:["xfdl"]},"application/vnd.xfdl.webform":{source:"iana"},"application/vnd.xmi+xml":{source:"iana",compressible:!0},"application/vnd.xmpie.cpkg":{source:"iana"},"application/vnd.xmpie.dpkg":{source:"iana"},"application/vnd.xmpie.plan":{source:"iana"},"application/vnd.xmpie.ppkg":{source:"iana"},"application/vnd.xmpie.xlim":{source:"iana"},"application/vnd.yamaha.hv-dic":{source:"iana",extensions:["hvd"]},"application/vnd.yamaha.hv-script":{source:"iana",extensions:["hvs"]},"application/vnd.yamaha.hv-voice":{source:"iana",extensions:["hvp"]},"application/vnd.yamaha.openscoreformat":{source:"iana",extensions:["osf"]},"application/vnd.yamaha.openscoreformat.osfpvg+xml":{source:"iana",compressible:!0,extensions:["osfpvg"]},"application/vnd.yamaha.remote-setup":{source:"iana"},"application/vnd.yamaha.smaf-audio":{source:"iana",extensions:["saf"]},"application/vnd.yamaha.smaf-phrase":{source:"iana",extensions:["spf"]},"application/vnd.yamaha.through-ngn":{source:"iana"},"application/vnd.yamaha.tunnel-udpencap":{source:"iana"},"application/vnd.yaoweme":{source:"iana"},"application/vnd.yellowriver-custom-menu":{source:"iana",extensions:["cmp"]},"application/vnd.zul":{source:"iana",extensions:["zir","zirz"]},"application/vnd.zzazz.deck+xml":{source:"iana",compressible:!0,extensions:["zaz"]},"application/voicexml+xml":{source:"iana",compressible:!0,extensions:["vxml"]},"application/voucher-cms+json":{source:"iana",compressible:!0},"application/voucher-jws+json":{source:"iana",compressible:!0},"application/vp":{source:"iana"},"application/vp+cose":{source:"iana"},"application/vp+jwt":{source:"iana"},"application/vq-rtcpxr":{source:"iana"},"application/wasm":{source:"iana",compressible:!0,extensions:["wasm"]},"application/watcherinfo+xml":{source:"iana",compressible:!0,extensions:["wif"]},"application/webpush-options+json":{source:"iana",compressible:!0},"application/whoispp-query":{source:"iana"},"application/whoispp-response":{source:"iana"},"application/widget":{source:"iana",extensions:["wgt"]},"application/winhlp":{source:"apache",extensions:["hlp"]},"application/wita":{source:"iana"},"application/wordperfect5.1":{source:"iana"},"application/wsdl+xml":{source:"iana",compressible:!0,extensions:["wsdl"]},"application/wspolicy+xml":{source:"iana",compressible:!0,extensions:["wspolicy"]},"application/x-7z-compressed":{source:"apache",compressible:!1,extensions:["7z"]},"application/x-abiword":{source:"apache",extensions:["abw"]},"application/x-ace-compressed":{source:"apache",extensions:["ace"]},"application/x-amf":{source:"apache"},"application/x-apple-diskimage":{source:"apache",extensions:["dmg"]},"application/x-arj":{compressible:!1,extensions:["arj"]},"application/x-authorware-bin":{source:"apache",extensions:["aab","x32","u32","vox"]},"application/x-authorware-map":{source:"apache",extensions:["aam"]},"application/x-authorware-seg":{source:"apache",extensions:["aas"]},"application/x-bcpio":{source:"apache",extensions:["bcpio"]},"application/x-bdoc":{compressible:!1,extensions:["bdoc"]},"application/x-bittorrent":{source:"apache",extensions:["torrent"]},"application/x-blender":{extensions:["blend"]},"application/x-blorb":{source:"apache",extensions:["blb","blorb"]},"application/x-bzip":{source:"apache",compressible:!1,extensions:["bz"]},"application/x-bzip2":{source:"apache",compressible:!1,extensions:["bz2","boz"]},"application/x-cbr":{source:"apache",extensions:["cbr","cba","cbt","cbz","cb7"]},"application/x-cdlink":{source:"apache",extensions:["vcd"]},"application/x-cfs-compressed":{source:"apache",extensions:["cfs"]},"application/x-chat":{source:"apache",extensions:["chat"]},"application/x-chess-pgn":{source:"apache",extensions:["pgn"]},"application/x-chrome-extension":{extensions:["crx"]},"application/x-cocoa":{source:"nginx",extensions:["cco"]},"application/x-compress":{source:"apache"},"application/x-compressed":{extensions:["rar"]},"application/x-conference":{source:"apache",extensions:["nsc"]},"application/x-cpio":{source:"apache",extensions:["cpio"]},"application/x-csh":{source:"apache",extensions:["csh"]},"application/x-deb":{compressible:!1},"application/x-debian-package":{source:"apache",extensions:["deb","udeb"]},"application/x-dgc-compressed":{source:"apache",extensions:["dgc"]},"application/x-director":{source:"apache",extensions:["dir","dcr","dxr","cst","cct","cxt","w3d","fgd","swa"]},"application/x-doom":{source:"apache",extensions:["wad"]},"application/x-dtbncx+xml":{source:"apache",compressible:!0,extensions:["ncx"]},"application/x-dtbook+xml":{source:"apache",compressible:!0,extensions:["dtb"]},"application/x-dtbresource+xml":{source:"apache",compressible:!0,extensions:["res"]},"application/x-dvi":{source:"apache",compressible:!1,extensions:["dvi"]},"application/x-envoy":{source:"apache",extensions:["evy"]},"application/x-eva":{source:"apache",extensions:["eva"]},"application/x-font-bdf":{source:"apache",extensions:["bdf"]},"application/x-font-dos":{source:"apache"},"application/x-font-framemaker":{source:"apache"},"application/x-font-ghostscript":{source:"apache",extensions:["gsf"]},"application/x-font-libgrx":{source:"apache"},"application/x-font-linux-psf":{source:"apache",extensions:["psf"]},"application/x-font-pcf":{source:"apache",extensions:["pcf"]},"application/x-font-snf":{source:"apache",extensions:["snf"]},"application/x-font-speedo":{source:"apache"},"application/x-font-sunos-news":{source:"apache"},"application/x-font-type1":{source:"apache",extensions:["pfa","pfb","pfm","afm"]},"application/x-font-vfont":{source:"apache"},"application/x-freearc":{source:"apache",extensions:["arc"]},"application/x-futuresplash":{source:"apache",extensions:["spl"]},"application/x-gca-compressed":{source:"apache",extensions:["gca"]},"application/x-glulx":{source:"apache",extensions:["ulx"]},"application/x-gnumeric":{source:"apache",extensions:["gnumeric"]},"application/x-gramps-xml":{source:"apache",extensions:["gramps"]},"application/x-gtar":{source:"apache",extensions:["gtar"]},"application/x-gzip":{source:"apache"},"application/x-hdf":{source:"apache",extensions:["hdf"]},"application/x-httpd-php":{compressible:!0,extensions:["php"]},"application/x-install-instructions":{source:"apache",extensions:["install"]},"application/x-ipynb+json":{compressible:!0,extensions:["ipynb"]},"application/x-iso9660-image":{source:"apache",extensions:["iso"]},"application/x-iwork-keynote-sffkey":{extensions:["key"]},"application/x-iwork-numbers-sffnumbers":{extensions:["numbers"]},"application/x-iwork-pages-sffpages":{extensions:["pages"]},"application/x-java-archive-diff":{source:"nginx",extensions:["jardiff"]},"application/x-java-jnlp-file":{source:"apache",compressible:!1,extensions:["jnlp"]},"application/x-javascript":{compressible:!0},"application/x-keepass2":{extensions:["kdbx"]},"application/x-latex":{source:"apache",compressible:!1,extensions:["latex"]},"application/x-lua-bytecode":{extensions:["luac"]},"application/x-lzh-compressed":{source:"apache",extensions:["lzh","lha"]},"application/x-makeself":{source:"nginx",extensions:["run"]},"application/x-mie":{source:"apache",extensions:["mie"]},"application/x-mobipocket-ebook":{source:"apache",extensions:["prc","mobi"]},"application/x-mpegurl":{compressible:!1},"application/x-ms-application":{source:"apache",extensions:["application"]},"application/x-ms-shortcut":{source:"apache",extensions:["lnk"]},"application/x-ms-wmd":{source:"apache",extensions:["wmd"]},"application/x-ms-wmz":{source:"apache",extensions:["wmz"]},"application/x-ms-xbap":{source:"apache",extensions:["xbap"]},"application/x-msaccess":{source:"apache",extensions:["mdb"]},"application/x-msbinder":{source:"apache",extensions:["obd"]},"application/x-mscardfile":{source:"apache",extensions:["crd"]},"application/x-msclip":{source:"apache",extensions:["clp"]},"application/x-msdos-program":{extensions:["exe"]},"application/x-msdownload":{source:"apache",extensions:["exe","dll","com","bat","msi"]},"application/x-msmediaview":{source:"apache",extensions:["mvb","m13","m14"]},"application/x-msmetafile":{source:"apache",extensions:["wmf","wmz","emf","emz"]},"application/x-msmoney":{source:"apache",extensions:["mny"]},"application/x-mspublisher":{source:"apache",extensions:["pub"]},"application/x-msschedule":{source:"apache",extensions:["scd"]},"application/x-msterminal":{source:"apache",extensions:["trm"]},"application/x-mswrite":{source:"apache",extensions:["wri"]},"application/x-netcdf":{source:"apache",extensions:["nc","cdf"]},"application/x-ns-proxy-autoconfig":{compressible:!0,extensions:["pac"]},"application/x-nzb":{source:"apache",extensions:["nzb"]},"application/x-perl":{source:"nginx",extensions:["pl","pm"]},"application/x-pilot":{source:"nginx",extensions:["prc","pdb"]},"application/x-pkcs12":{source:"apache",compressible:!1,extensions:["p12","pfx"]},"application/x-pkcs7-certificates":{source:"apache",extensions:["p7b","spc"]},"application/x-pkcs7-certreqresp":{source:"apache",extensions:["p7r"]},"application/x-pki-message":{source:"iana"},"application/x-rar-compressed":{source:"apache",compressible:!1,extensions:["rar"]},"application/x-redhat-package-manager":{source:"nginx",extensions:["rpm"]},"application/x-research-info-systems":{source:"apache",extensions:["ris"]},"application/x-sea":{source:"nginx",extensions:["sea"]},"application/x-sh":{source:"apache",compressible:!0,extensions:["sh"]},"application/x-shar":{source:"apache",extensions:["shar"]},"application/x-shockwave-flash":{source:"apache",compressible:!1,extensions:["swf"]},"application/x-silverlight-app":{source:"apache",extensions:["xap"]},"application/x-sql":{source:"apache",extensions:["sql"]},"application/x-stuffit":{source:"apache",compressible:!1,extensions:["sit"]},"application/x-stuffitx":{source:"apache",extensions:["sitx"]},"application/x-subrip":{source:"apache",extensions:["srt"]},"application/x-sv4cpio":{source:"apache",extensions:["sv4cpio"]},"application/x-sv4crc":{source:"apache",extensions:["sv4crc"]},"application/x-t3vm-image":{source:"apache",extensions:["t3"]},"application/x-tads":{source:"apache",extensions:["gam"]},"application/x-tar":{source:"apache",compressible:!0,extensions:["tar"]},"application/x-tcl":{source:"apache",extensions:["tcl","tk"]},"application/x-tex":{source:"apache",extensions:["tex"]},"application/x-tex-tfm":{source:"apache",extensions:["tfm"]},"application/x-texinfo":{source:"apache",extensions:["texinfo","texi"]},"application/x-tgif":{source:"apache",extensions:["obj"]},"application/x-ustar":{source:"apache",extensions:["ustar"]},"application/x-virtualbox-hdd":{compressible:!0,extensions:["hdd"]},"application/x-virtualbox-ova":{compressible:!0,extensions:["ova"]},"application/x-virtualbox-ovf":{compressible:!0,extensions:["ovf"]},"application/x-virtualbox-vbox":{compressible:!0,extensions:["vbox"]},"application/x-virtualbox-vbox-extpack":{compressible:!1,extensions:["vbox-extpack"]},"application/x-virtualbox-vdi":{compressible:!0,extensions:["vdi"]},"application/x-virtualbox-vhd":{compressible:!0,extensions:["vhd"]},"application/x-virtualbox-vmdk":{compressible:!0,extensions:["vmdk"]},"application/x-wais-source":{source:"apache",extensions:["src"]},"application/x-web-app-manifest+json":{compressible:!0,extensions:["webapp"]},"application/x-www-form-urlencoded":{source:"iana",compressible:!0},"application/x-x509-ca-cert":{source:"iana",extensions:["der","crt","pem"]},"application/x-x509-ca-ra-cert":{source:"iana"},"application/x-x509-next-ca-cert":{source:"iana"},"application/x-xfig":{source:"apache",extensions:["fig"]},"application/x-xliff+xml":{source:"apache",compressible:!0,extensions:["xlf"]},"application/x-xpinstall":{source:"apache",compressible:!1,extensions:["xpi"]},"application/x-xz":{source:"apache",extensions:["xz"]},"application/x-zip-compressed":{extensions:["zip"]},"application/x-zmachine":{source:"apache",extensions:["z1","z2","z3","z4","z5","z6","z7","z8"]},"application/x400-bp":{source:"iana"},"application/xacml+xml":{source:"iana",compressible:!0},"application/xaml+xml":{source:"apache",compressible:!0,extensions:["xaml"]},"application/xcap-att+xml":{source:"iana",compressible:!0,extensions:["xav"]},"application/xcap-caps+xml":{source:"iana",compressible:!0,extensions:["xca"]},"application/xcap-diff+xml":{source:"iana",compressible:!0,extensions:["xdf"]},"application/xcap-el+xml":{source:"iana",compressible:!0,extensions:["xel"]},"application/xcap-error+xml":{source:"iana",compressible:!0},"application/xcap-ns+xml":{source:"iana",compressible:!0,extensions:["xns"]},"application/xcon-conference-info+xml":{source:"iana",compressible:!0},"application/xcon-conference-info-diff+xml":{source:"iana",compressible:!0},"application/xenc+xml":{source:"iana",compressible:!0,extensions:["xenc"]},"application/xfdf":{source:"iana",extensions:["xfdf"]},"application/xhtml+xml":{source:"iana",compressible:!0,extensions:["xhtml","xht"]},"application/xhtml-voice+xml":{source:"apache",compressible:!0},"application/xliff+xml":{source:"iana",compressible:!0,extensions:["xlf"]},"application/xml":{source:"iana",compressible:!0,extensions:["xml","xsl","xsd","rng"]},"application/xml-dtd":{source:"iana",compressible:!0,extensions:["dtd"]},"application/xml-external-parsed-entity":{source:"iana"},"application/xml-patch+xml":{source:"iana",compressible:!0},"application/xmpp+xml":{source:"iana",compressible:!0},"application/xop+xml":{source:"iana",compressible:!0,extensions:["xop"]},"application/xproc+xml":{source:"apache",compressible:!0,extensions:["xpl"]},"application/xslt+xml":{source:"iana",compressible:!0,extensions:["xsl","xslt"]},"application/xspf+xml":{source:"apache",compressible:!0,extensions:["xspf"]},"application/xv+xml":{source:"iana",compressible:!0,extensions:["mxml","xhvml","xvml","xvm"]},"application/yaml":{source:"iana"},"application/yang":{source:"iana",extensions:["yang"]},"application/yang-data+cbor":{source:"iana"},"application/yang-data+json":{source:"iana",compressible:!0},"application/yang-data+xml":{source:"iana",compressible:!0},"application/yang-patch+json":{source:"iana",compressible:!0},"application/yang-patch+xml":{source:"iana",compressible:!0},"application/yang-sid+json":{source:"iana",compressible:!0},"application/yin+xml":{source:"iana",compressible:!0,extensions:["yin"]},"application/zip":{source:"iana",compressible:!1,extensions:["zip"]},"application/zip+dotlottie":{extensions:["lottie"]},"application/zlib":{source:"iana"},"application/zstd":{source:"iana"},"audio/1d-interleaved-parityfec":{source:"iana"},"audio/32kadpcm":{source:"iana"},"audio/3gpp":{source:"iana",compressible:!1,extensions:["3gpp"]},"audio/3gpp2":{source:"iana"},"audio/aac":{source:"iana",extensions:["adts","aac"]},"audio/ac3":{source:"iana"},"audio/adpcm":{source:"apache",extensions:["adp"]},"audio/amr":{source:"iana",extensions:["amr"]},"audio/amr-wb":{source:"iana"},"audio/amr-wb+":{source:"iana"},"audio/aptx":{source:"iana"},"audio/asc":{source:"iana"},"audio/atrac-advanced-lossless":{source:"iana"},"audio/atrac-x":{source:"iana"},"audio/atrac3":{source:"iana"},"audio/basic":{source:"iana",compressible:!1,extensions:["au","snd"]},"audio/bv16":{source:"iana"},"audio/bv32":{source:"iana"},"audio/clearmode":{source:"iana"},"audio/cn":{source:"iana"},"audio/dat12":{source:"iana"},"audio/dls":{source:"iana"},"audio/dsr-es201108":{source:"iana"},"audio/dsr-es202050":{source:"iana"},"audio/dsr-es202211":{source:"iana"},"audio/dsr-es202212":{source:"iana"},"audio/dv":{source:"iana"},"audio/dvi4":{source:"iana"},"audio/eac3":{source:"iana"},"audio/encaprtp":{source:"iana"},"audio/evrc":{source:"iana"},"audio/evrc-qcp":{source:"iana"},"audio/evrc0":{source:"iana"},"audio/evrc1":{source:"iana"},"audio/evrcb":{source:"iana"},"audio/evrcb0":{source:"iana"},"audio/evrcb1":{source:"iana"},"audio/evrcnw":{source:"iana"},"audio/evrcnw0":{source:"iana"},"audio/evrcnw1":{source:"iana"},"audio/evrcwb":{source:"iana"},"audio/evrcwb0":{source:"iana"},"audio/evrcwb1":{source:"iana"},"audio/evs":{source:"iana"},"audio/flac":{source:"iana"},"audio/flexfec":{source:"iana"},"audio/fwdred":{source:"iana"},"audio/g711-0":{source:"iana"},"audio/g719":{source:"iana"},"audio/g722":{source:"iana"},"audio/g7221":{source:"iana"},"audio/g723":{source:"iana"},"audio/g726-16":{source:"iana"},"audio/g726-24":{source:"iana"},"audio/g726-32":{source:"iana"},"audio/g726-40":{source:"iana"},"audio/g728":{source:"iana"},"audio/g729":{source:"iana"},"audio/g7291":{source:"iana"},"audio/g729d":{source:"iana"},"audio/g729e":{source:"iana"},"audio/gsm":{source:"iana"},"audio/gsm-efr":{source:"iana"},"audio/gsm-hr-08":{source:"iana"},"audio/ilbc":{source:"iana"},"audio/ip-mr_v2.5":{source:"iana"},"audio/isac":{source:"apache"},"audio/l16":{source:"iana"},"audio/l20":{source:"iana"},"audio/l24":{source:"iana",compressible:!1},"audio/l8":{source:"iana"},"audio/lpc":{source:"iana"},"audio/matroska":{source:"iana"},"audio/melp":{source:"iana"},"audio/melp1200":{source:"iana"},"audio/melp2400":{source:"iana"},"audio/melp600":{source:"iana"},"audio/mhas":{source:"iana"},"audio/midi":{source:"apache",extensions:["mid","midi","kar","rmi"]},"audio/midi-clip":{source:"iana"},"audio/mobile-xmf":{source:"iana",extensions:["mxmf"]},"audio/mp3":{compressible:!1,extensions:["mp3"]},"audio/mp4":{source:"iana",compressible:!1,extensions:["m4a","mp4a","m4b"]},"audio/mp4a-latm":{source:"iana"},"audio/mpa":{source:"iana"},"audio/mpa-robust":{source:"iana"},"audio/mpeg":{source:"iana",compressible:!1,extensions:["mpga","mp2","mp2a","mp3","m2a","m3a"]},"audio/mpeg4-generic":{source:"iana"},"audio/musepack":{source:"apache"},"audio/ogg":{source:"iana",compressible:!1,extensions:["oga","ogg","spx","opus"]},"audio/opus":{source:"iana"},"audio/parityfec":{source:"iana"},"audio/pcma":{source:"iana"},"audio/pcma-wb":{source:"iana"},"audio/pcmu":{source:"iana"},"audio/pcmu-wb":{source:"iana"},"audio/prs.sid":{source:"iana"},"audio/qcelp":{source:"iana"},"audio/raptorfec":{source:"iana"},"audio/red":{source:"iana"},"audio/rtp-enc-aescm128":{source:"iana"},"audio/rtp-midi":{source:"iana"},"audio/rtploopback":{source:"iana"},"audio/rtx":{source:"iana"},"audio/s3m":{source:"apache",extensions:["s3m"]},"audio/scip":{source:"iana"},"audio/silk":{source:"apache",extensions:["sil"]},"audio/smv":{source:"iana"},"audio/smv-qcp":{source:"iana"},"audio/smv0":{source:"iana"},"audio/sofa":{source:"iana"},"audio/sp-midi":{source:"iana"},"audio/speex":{source:"iana"},"audio/t140c":{source:"iana"},"audio/t38":{source:"iana"},"audio/telephone-event":{source:"iana"},"audio/tetra_acelp":{source:"iana"},"audio/tetra_acelp_bb":{source:"iana"},"audio/tone":{source:"iana"},"audio/tsvcis":{source:"iana"},"audio/uemclip":{source:"iana"},"audio/ulpfec":{source:"iana"},"audio/usac":{source:"iana"},"audio/vdvi":{source:"iana"},"audio/vmr-wb":{source:"iana"},"audio/vnd.3gpp.iufp":{source:"iana"},"audio/vnd.4sb":{source:"iana"},"audio/vnd.audiokoz":{source:"iana"},"audio/vnd.celp":{source:"iana"},"audio/vnd.cisco.nse":{source:"iana"},"audio/vnd.cmles.radio-events":{source:"iana"},"audio/vnd.cns.anp1":{source:"iana"},"audio/vnd.cns.inf1":{source:"iana"},"audio/vnd.dece.audio":{source:"iana",extensions:["uva","uvva"]},"audio/vnd.digital-winds":{source:"iana",extensions:["eol"]},"audio/vnd.dlna.adts":{source:"iana"},"audio/vnd.dolby.heaac.1":{source:"iana"},"audio/vnd.dolby.heaac.2":{source:"iana"},"audio/vnd.dolby.mlp":{source:"iana"},"audio/vnd.dolby.mps":{source:"iana"},"audio/vnd.dolby.pl2":{source:"iana"},"audio/vnd.dolby.pl2x":{source:"iana"},"audio/vnd.dolby.pl2z":{source:"iana"},"audio/vnd.dolby.pulse.1":{source:"iana"},"audio/vnd.dra":{source:"iana",extensions:["dra"]},"audio/vnd.dts":{source:"iana",extensions:["dts"]},"audio/vnd.dts.hd":{source:"iana",extensions:["dtshd"]},"audio/vnd.dts.uhd":{source:"iana"},"audio/vnd.dvb.file":{source:"iana"},"audio/vnd.everad.plj":{source:"iana"},"audio/vnd.hns.audio":{source:"iana"},"audio/vnd.lucent.voice":{source:"iana",extensions:["lvp"]},"audio/vnd.ms-playready.media.pya":{source:"iana",extensions:["pya"]},"audio/vnd.nokia.mobile-xmf":{source:"iana"},"audio/vnd.nortel.vbk":{source:"iana"},"audio/vnd.nuera.ecelp4800":{source:"iana",extensions:["ecelp4800"]},"audio/vnd.nuera.ecelp7470":{source:"iana",extensions:["ecelp7470"]},"audio/vnd.nuera.ecelp9600":{source:"iana",extensions:["ecelp9600"]},"audio/vnd.octel.sbc":{source:"iana"},"audio/vnd.presonus.multitrack":{source:"iana"},"audio/vnd.qcelp":{source:"apache"},"audio/vnd.rhetorex.32kadpcm":{source:"iana"},"audio/vnd.rip":{source:"iana",extensions:["rip"]},"audio/vnd.rn-realaudio":{compressible:!1},"audio/vnd.sealedmedia.softseal.mpeg":{source:"iana"},"audio/vnd.vmx.cvsd":{source:"iana"},"audio/vnd.wave":{compressible:!1},"audio/vorbis":{source:"iana",compressible:!1},"audio/vorbis-config":{source:"iana"},"audio/wav":{compressible:!1,extensions:["wav"]},"audio/wave":{compressible:!1,extensions:["wav"]},"audio/webm":{source:"apache",compressible:!1,extensions:["weba"]},"audio/x-aac":{source:"apache",compressible:!1,extensions:["aac"]},"audio/x-aiff":{source:"apache",extensions:["aif","aiff","aifc"]},"audio/x-caf":{source:"apache",compressible:!1,extensions:["caf"]},"audio/x-flac":{source:"apache",extensions:["flac"]},"audio/x-m4a":{source:"nginx",extensions:["m4a"]},"audio/x-matroska":{source:"apache",extensions:["mka"]},"audio/x-mpegurl":{source:"apache",extensions:["m3u"]},"audio/x-ms-wax":{source:"apache",extensions:["wax"]},"audio/x-ms-wma":{source:"apache",extensions:["wma"]},"audio/x-pn-realaudio":{source:"apache",extensions:["ram","ra"]},"audio/x-pn-realaudio-plugin":{source:"apache",extensions:["rmp"]},"audio/x-realaudio":{source:"nginx",extensions:["ra"]},"audio/x-tta":{source:"apache"},"audio/x-wav":{source:"apache",extensions:["wav"]},"audio/xm":{source:"apache",extensions:["xm"]},"chemical/x-cdx":{source:"apache",extensions:["cdx"]},"chemical/x-cif":{source:"apache",extensions:["cif"]},"chemical/x-cmdf":{source:"apache",extensions:["cmdf"]},"chemical/x-cml":{source:"apache",extensions:["cml"]},"chemical/x-csml":{source:"apache",extensions:["csml"]},"chemical/x-pdb":{source:"apache"},"chemical/x-xyz":{source:"apache",extensions:["xyz"]},"font/collection":{source:"iana",extensions:["ttc"]},"font/otf":{source:"iana",compressible:!0,extensions:["otf"]},"font/sfnt":{source:"iana"},"font/ttf":{source:"iana",compressible:!0,extensions:["ttf"]},"font/woff":{source:"iana",extensions:["woff"]},"font/woff2":{source:"iana",extensions:["woff2"]},"image/aces":{source:"iana",extensions:["exr"]},"image/apng":{source:"iana",compressible:!1,extensions:["apng"]},"image/avci":{source:"iana",extensions:["avci"]},"image/avcs":{source:"iana",extensions:["avcs"]},"image/avif":{source:"iana",compressible:!1,extensions:["avif"]},"image/bmp":{source:"iana",compressible:!0,extensions:["bmp","dib"]},"image/cgm":{source:"iana",extensions:["cgm"]},"image/dicom-rle":{source:"iana",extensions:["drle"]},"image/dpx":{source:"iana",extensions:["dpx"]},"image/emf":{source:"iana",extensions:["emf"]},"image/fits":{source:"iana",extensions:["fits"]},"image/g3fax":{source:"iana",extensions:["g3"]},"image/gif":{source:"iana",compressible:!1,extensions:["gif"]},"image/heic":{source:"iana",extensions:["heic"]},"image/heic-sequence":{source:"iana",extensions:["heics"]},"image/heif":{source:"iana",extensions:["heif"]},"image/heif-sequence":{source:"iana",extensions:["heifs"]},"image/hej2k":{source:"iana",extensions:["hej2"]},"image/ief":{source:"iana",extensions:["ief"]},"image/j2c":{source:"iana"},"image/jaii":{source:"iana",extensions:["jaii"]},"image/jais":{source:"iana",extensions:["jais"]},"image/jls":{source:"iana",extensions:["jls"]},"image/jp2":{source:"iana",compressible:!1,extensions:["jp2","jpg2"]},"image/jpeg":{source:"iana",compressible:!1,extensions:["jpg","jpeg","jpe"]},"image/jph":{source:"iana",extensions:["jph"]},"image/jphc":{source:"iana",extensions:["jhc"]},"image/jpm":{source:"iana",compressible:!1,extensions:["jpm","jpgm"]},"image/jpx":{source:"iana",compressible:!1,extensions:["jpx","jpf"]},"image/jxl":{source:"iana",extensions:["jxl"]},"image/jxr":{source:"iana",extensions:["jxr"]},"image/jxra":{source:"iana",extensions:["jxra"]},"image/jxrs":{source:"iana",extensions:["jxrs"]},"image/jxs":{source:"iana",extensions:["jxs"]},"image/jxsc":{source:"iana",extensions:["jxsc"]},"image/jxsi":{source:"iana",extensions:["jxsi"]},"image/jxss":{source:"iana",extensions:["jxss"]},"image/ktx":{source:"iana",extensions:["ktx"]},"image/ktx2":{source:"iana",extensions:["ktx2"]},"image/naplps":{source:"iana"},"image/pjpeg":{compressible:!1,extensions:["jfif"]},"image/png":{source:"iana",compressible:!1,extensions:["png"]},"image/prs.btif":{source:"iana",extensions:["btif","btf"]},"image/prs.pti":{source:"iana",extensions:["pti"]},"image/pwg-raster":{source:"iana"},"image/sgi":{source:"apache",extensions:["sgi"]},"image/svg+xml":{source:"iana",compressible:!0,extensions:["svg","svgz"]},"image/t38":{source:"iana",extensions:["t38"]},"image/tiff":{source:"iana",compressible:!1,extensions:["tif","tiff"]},"image/tiff-fx":{source:"iana",extensions:["tfx"]},"image/vnd.adobe.photoshop":{source:"iana",compressible:!0,extensions:["psd"]},"image/vnd.airzip.accelerator.azv":{source:"iana",extensions:["azv"]},"image/vnd.clip":{source:"iana"},"image/vnd.cns.inf2":{source:"iana"},"image/vnd.dece.graphic":{source:"iana",extensions:["uvi","uvvi","uvg","uvvg"]},"image/vnd.djvu":{source:"iana",extensions:["djvu","djv"]},"image/vnd.dvb.subtitle":{source:"iana",extensions:["sub"]},"image/vnd.dwg":{source:"iana",extensions:["dwg"]},"image/vnd.dxf":{source:"iana",extensions:["dxf"]},"image/vnd.fastbidsheet":{source:"iana",extensions:["fbs"]},"image/vnd.fpx":{source:"iana",extensions:["fpx"]},"image/vnd.fst":{source:"iana",extensions:["fst"]},"image/vnd.fujixerox.edmics-mmr":{source:"iana",extensions:["mmr"]},"image/vnd.fujixerox.edmics-rlc":{source:"iana",extensions:["rlc"]},"image/vnd.globalgraphics.pgb":{source:"iana"},"image/vnd.microsoft.icon":{source:"iana",compressible:!0,extensions:["ico"]},"image/vnd.mix":{source:"iana"},"image/vnd.mozilla.apng":{source:"iana"},"image/vnd.ms-dds":{compressible:!0,extensions:["dds"]},"image/vnd.ms-modi":{source:"iana",extensions:["mdi"]},"image/vnd.ms-photo":{source:"apache",extensions:["wdp"]},"image/vnd.net-fpx":{source:"iana",extensions:["npx"]},"image/vnd.pco.b16":{source:"iana",extensions:["b16"]},"image/vnd.radiance":{source:"iana"},"image/vnd.sealed.png":{source:"iana"},"image/vnd.sealedmedia.softseal.gif":{source:"iana"},"image/vnd.sealedmedia.softseal.jpg":{source:"iana"},"image/vnd.svf":{source:"iana"},"image/vnd.tencent.tap":{source:"iana",extensions:["tap"]},"image/vnd.valve.source.texture":{source:"iana",extensions:["vtf"]},"image/vnd.wap.wbmp":{source:"iana",extensions:["wbmp"]},"image/vnd.xiff":{source:"iana",extensions:["xif"]},"image/vnd.zbrush.pcx":{source:"iana",extensions:["pcx"]},"image/webp":{source:"iana",extensions:["webp"]},"image/wmf":{source:"iana",extensions:["wmf"]},"image/x-3ds":{source:"apache",extensions:["3ds"]},"image/x-adobe-dng":{extensions:["dng"]},"image/x-cmu-raster":{source:"apache",extensions:["ras"]},"image/x-cmx":{source:"apache",extensions:["cmx"]},"image/x-emf":{source:"iana"},"image/x-freehand":{source:"apache",extensions:["fh","fhc","fh4","fh5","fh7"]},"image/x-icon":{source:"apache",compressible:!0,extensions:["ico"]},"image/x-jng":{source:"nginx",extensions:["jng"]},"image/x-mrsid-image":{source:"apache",extensions:["sid"]},"image/x-ms-bmp":{source:"nginx",compressible:!0,extensions:["bmp"]},"image/x-pcx":{source:"apache",extensions:["pcx"]},"image/x-pict":{source:"apache",extensions:["pic","pct"]},"image/x-portable-anymap":{source:"apache",extensions:["pnm"]},"image/x-portable-bitmap":{source:"apache",extensions:["pbm"]},"image/x-portable-graymap":{source:"apache",extensions:["pgm"]},"image/x-portable-pixmap":{source:"apache",extensions:["ppm"]},"image/x-rgb":{source:"apache",extensions:["rgb"]},"image/x-tga":{source:"apache",extensions:["tga"]},"image/x-wmf":{source:"iana"},"image/x-xbitmap":{source:"apache",extensions:["xbm"]},"image/x-xcf":{compressible:!1},"image/x-xpixmap":{source:"apache",extensions:["xpm"]},"image/x-xwindowdump":{source:"apache",extensions:["xwd"]},"message/bhttp":{source:"iana"},"message/cpim":{source:"iana"},"message/delivery-status":{source:"iana"},"message/disposition-notification":{source:"iana",extensions:["disposition-notification"]},"message/external-body":{source:"iana"},"message/feedback-report":{source:"iana"},"message/global":{source:"iana",extensions:["u8msg"]},"message/global-delivery-status":{source:"iana",extensions:["u8dsn"]},"message/global-disposition-notification":{source:"iana",extensions:["u8mdn"]},"message/global-headers":{source:"iana",extensions:["u8hdr"]},"message/http":{source:"iana",compressible:!1},"message/imdn+xml":{source:"iana",compressible:!0},"message/mls":{source:"iana"},"message/news":{source:"apache"},"message/ohttp-req":{source:"iana"},"message/ohttp-res":{source:"iana"},"message/partial":{source:"iana",compressible:!1},"message/rfc822":{source:"iana",compressible:!0,extensions:["eml","mime","mht","mhtml"]},"message/s-http":{source:"apache"},"message/sip":{source:"iana"},"message/sipfrag":{source:"iana"},"message/tracking-status":{source:"iana"},"message/vnd.si.simp":{source:"apache"},"message/vnd.wfa.wsc":{source:"iana",extensions:["wsc"]},"model/3mf":{source:"iana",extensions:["3mf"]},"model/e57":{source:"iana"},"model/gltf+json":{source:"iana",compressible:!0,extensions:["gltf"]},"model/gltf-binary":{source:"iana",compressible:!0,extensions:["glb"]},"model/iges":{source:"iana",compressible:!1,extensions:["igs","iges"]},"model/jt":{source:"iana",extensions:["jt"]},"model/mesh":{source:"iana",compressible:!1,extensions:["msh","mesh","silo"]},"model/mtl":{source:"iana",extensions:["mtl"]},"model/obj":{source:"iana",extensions:["obj"]},"model/prc":{source:"iana",extensions:["prc"]},"model/step":{source:"iana",extensions:["step","stp","stpnc","p21","210"]},"model/step+xml":{source:"iana",compressible:!0,extensions:["stpx"]},"model/step+zip":{source:"iana",compressible:!1,extensions:["stpz"]},"model/step-xml+zip":{source:"iana",compressible:!1,extensions:["stpxz"]},"model/stl":{source:"iana",extensions:["stl"]},"model/u3d":{source:"iana",extensions:["u3d"]},"model/vnd.bary":{source:"iana",extensions:["bary"]},"model/vnd.cld":{source:"iana",extensions:["cld"]},"model/vnd.collada+xml":{source:"iana",compressible:!0,extensions:["dae"]},"model/vnd.dwf":{source:"iana",extensions:["dwf"]},"model/vnd.flatland.3dml":{source:"iana"},"model/vnd.gdl":{source:"iana",extensions:["gdl"]},"model/vnd.gs-gdl":{source:"apache"},"model/vnd.gs.gdl":{source:"iana"},"model/vnd.gtw":{source:"iana",extensions:["gtw"]},"model/vnd.moml+xml":{source:"iana",compressible:!0},"model/vnd.mts":{source:"iana",extensions:["mts"]},"model/vnd.opengex":{source:"iana",extensions:["ogex"]},"model/vnd.parasolid.transmit.binary":{source:"iana",extensions:["x_b"]},"model/vnd.parasolid.transmit.text":{source:"iana",extensions:["x_t"]},"model/vnd.pytha.pyox":{source:"iana",extensions:["pyo","pyox"]},"model/vnd.rosette.annotated-data-model":{source:"iana"},"model/vnd.sap.vds":{source:"iana",extensions:["vds"]},"model/vnd.usda":{source:"iana",extensions:["usda"]},"model/vnd.usdz+zip":{source:"iana",compressible:!1,extensions:["usdz"]},"model/vnd.valve.source.compiled-map":{source:"iana",extensions:["bsp"]},"model/vnd.vtu":{source:"iana",extensions:["vtu"]},"model/vrml":{source:"iana",compressible:!1,extensions:["wrl","vrml"]},"model/x3d+binary":{source:"apache",compressible:!1,extensions:["x3db","x3dbz"]},"model/x3d+fastinfoset":{source:"iana",extensions:["x3db"]},"model/x3d+vrml":{source:"apache",compressible:!1,extensions:["x3dv","x3dvz"]},"model/x3d+xml":{source:"iana",compressible:!0,extensions:["x3d","x3dz"]},"model/x3d-vrml":{source:"iana",extensions:["x3dv"]},"multipart/alternative":{source:"iana",compressible:!1},"multipart/appledouble":{source:"iana"},"multipart/byteranges":{source:"iana"},"multipart/digest":{source:"iana"},"multipart/encrypted":{source:"iana",compressible:!1},"multipart/form-data":{source:"iana",compressible:!1},"multipart/header-set":{source:"iana"},"multipart/mixed":{source:"iana"},"multipart/multilingual":{source:"iana"},"multipart/parallel":{source:"iana"},"multipart/related":{source:"iana",compressible:!1},"multipart/report":{source:"iana"},"multipart/signed":{source:"iana",compressible:!1},"multipart/vnd.bint.med-plus":{source:"iana"},"multipart/voice-message":{source:"iana"},"multipart/x-mixed-replace":{source:"iana"},"text/1d-interleaved-parityfec":{source:"iana"},"text/cache-manifest":{source:"iana",compressible:!0,extensions:["appcache","manifest"]},"text/calendar":{source:"iana",extensions:["ics","ifb"]},"text/calender":{compressible:!0},"text/cmd":{compressible:!0},"text/coffeescript":{extensions:["coffee","litcoffee"]},"text/cql":{source:"iana"},"text/cql-expression":{source:"iana"},"text/cql-identifier":{source:"iana"},"text/css":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["css"]},"text/csv":{source:"iana",compressible:!0,extensions:["csv"]},"text/csv-schema":{source:"iana"},"text/directory":{source:"iana"},"text/dns":{source:"iana"},"text/ecmascript":{source:"apache"},"text/encaprtp":{source:"iana"},"text/enriched":{source:"iana"},"text/fhirpath":{source:"iana"},"text/flexfec":{source:"iana"},"text/fwdred":{source:"iana"},"text/gff3":{source:"iana"},"text/grammar-ref-list":{source:"iana"},"text/hl7v2":{source:"iana"},"text/html":{source:"iana",compressible:!0,extensions:["html","htm","shtml"]},"text/jade":{extensions:["jade"]},"text/javascript":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["js","mjs"]},"text/jcr-cnd":{source:"iana"},"text/jsx":{compressible:!0,extensions:["jsx"]},"text/less":{compressible:!0,extensions:["less"]},"text/markdown":{source:"iana",compressible:!0,extensions:["md","markdown"]},"text/mathml":{source:"nginx",extensions:["mml"]},"text/mdx":{compressible:!0,extensions:["mdx"]},"text/mizar":{source:"iana"},"text/n3":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["n3"]},"text/parameters":{source:"iana",charset:"UTF-8"},"text/parityfec":{source:"iana"},"text/plain":{source:"iana",compressible:!0,extensions:["txt","text","conf","def","list","log","in","ini"]},"text/provenance-notation":{source:"iana",charset:"UTF-8"},"text/prs.fallenstein.rst":{source:"iana"},"text/prs.lines.tag":{source:"iana",extensions:["dsc"]},"text/prs.prop.logic":{source:"iana"},"text/prs.texi":{source:"iana"},"text/raptorfec":{source:"iana"},"text/red":{source:"iana"},"text/rfc822-headers":{source:"iana"},"text/richtext":{source:"iana",compressible:!0,extensions:["rtx"]},"text/rtf":{source:"iana",compressible:!0,extensions:["rtf"]},"text/rtp-enc-aescm128":{source:"iana"},"text/rtploopback":{source:"iana"},"text/rtx":{source:"iana"},"text/sgml":{source:"iana",extensions:["sgml","sgm"]},"text/shaclc":{source:"iana"},"text/shex":{source:"iana",extensions:["shex"]},"text/slim":{extensions:["slim","slm"]},"text/spdx":{source:"iana",extensions:["spdx"]},"text/strings":{source:"iana"},"text/stylus":{extensions:["stylus","styl"]},"text/t140":{source:"iana"},"text/tab-separated-values":{source:"iana",compressible:!0,extensions:["tsv"]},"text/troff":{source:"iana",extensions:["t","tr","roff","man","me","ms"]},"text/turtle":{source:"iana",charset:"UTF-8",extensions:["ttl"]},"text/ulpfec":{source:"iana"},"text/uri-list":{source:"iana",compressible:!0,extensions:["uri","uris","urls"]},"text/vcard":{source:"iana",compressible:!0,extensions:["vcard"]},"text/vnd.a":{source:"iana"},"text/vnd.abc":{source:"iana"},"text/vnd.ascii-art":{source:"iana"},"text/vnd.curl":{source:"iana",extensions:["curl"]},"text/vnd.curl.dcurl":{source:"apache",extensions:["dcurl"]},"text/vnd.curl.mcurl":{source:"apache",extensions:["mcurl"]},"text/vnd.curl.scurl":{source:"apache",extensions:["scurl"]},"text/vnd.debian.copyright":{source:"iana",charset:"UTF-8"},"text/vnd.dmclientscript":{source:"iana"},"text/vnd.dvb.subtitle":{source:"iana",extensions:["sub"]},"text/vnd.esmertec.theme-descriptor":{source:"iana",charset:"UTF-8"},"text/vnd.exchangeable":{source:"iana"},"text/vnd.familysearch.gedcom":{source:"iana",extensions:["ged"]},"text/vnd.ficlab.flt":{source:"iana"},"text/vnd.fly":{source:"iana",extensions:["fly"]},"text/vnd.fmi.flexstor":{source:"iana",extensions:["flx"]},"text/vnd.gml":{source:"iana"},"text/vnd.graphviz":{source:"iana",extensions:["gv"]},"text/vnd.hans":{source:"iana"},"text/vnd.hgl":{source:"iana"},"text/vnd.in3d.3dml":{source:"iana",extensions:["3dml"]},"text/vnd.in3d.spot":{source:"iana",extensions:["spot"]},"text/vnd.iptc.newsml":{source:"iana"},"text/vnd.iptc.nitf":{source:"iana"},"text/vnd.latex-z":{source:"iana"},"text/vnd.motorola.reflex":{source:"iana"},"text/vnd.ms-mediapackage":{source:"iana"},"text/vnd.net2phone.commcenter.command":{source:"iana"},"text/vnd.radisys.msml-basic-layout":{source:"iana"},"text/vnd.senx.warpscript":{source:"iana"},"text/vnd.si.uricatalogue":{source:"apache"},"text/vnd.sosi":{source:"iana"},"text/vnd.sun.j2me.app-descriptor":{source:"iana",charset:"UTF-8",extensions:["jad"]},"text/vnd.trolltech.linguist":{source:"iana",charset:"UTF-8"},"text/vnd.vcf":{source:"iana"},"text/vnd.wap.si":{source:"iana"},"text/vnd.wap.sl":{source:"iana"},"text/vnd.wap.wml":{source:"iana",extensions:["wml"]},"text/vnd.wap.wmlscript":{source:"iana",extensions:["wmls"]},"text/vnd.zoo.kcl":{source:"iana"},"text/vtt":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["vtt"]},"text/wgsl":{source:"iana",extensions:["wgsl"]},"text/x-asm":{source:"apache",extensions:["s","asm"]},"text/x-c":{source:"apache",extensions:["c","cc","cxx","cpp","h","hh","dic"]},"text/x-component":{source:"nginx",extensions:["htc"]},"text/x-fortran":{source:"apache",extensions:["f","for","f77","f90"]},"text/x-gwt-rpc":{compressible:!0},"text/x-handlebars-template":{extensions:["hbs"]},"text/x-java-source":{source:"apache",extensions:["java"]},"text/x-jquery-tmpl":{compressible:!0},"text/x-lua":{extensions:["lua"]},"text/x-markdown":{compressible:!0,extensions:["mkd"]},"text/x-nfo":{source:"apache",extensions:["nfo"]},"text/x-opml":{source:"apache",extensions:["opml"]},"text/x-org":{compressible:!0,extensions:["org"]},"text/x-pascal":{source:"apache",extensions:["p","pas"]},"text/x-processing":{compressible:!0,extensions:["pde"]},"text/x-sass":{extensions:["sass"]},"text/x-scss":{extensions:["scss"]},"text/x-setext":{source:"apache",extensions:["etx"]},"text/x-sfv":{source:"apache",extensions:["sfv"]},"text/x-suse-ymp":{compressible:!0,extensions:["ymp"]},"text/x-uuencode":{source:"apache",extensions:["uu"]},"text/x-vcalendar":{source:"apache",extensions:["vcs"]},"text/x-vcard":{source:"apache",extensions:["vcf"]},"text/xml":{source:"iana",compressible:!0,extensions:["xml"]},"text/xml-external-parsed-entity":{source:"iana"},"text/yaml":{compressible:!0,extensions:["yaml","yml"]},"video/1d-interleaved-parityfec":{source:"iana"},"video/3gpp":{source:"iana",extensions:["3gp","3gpp"]},"video/3gpp-tt":{source:"iana"},"video/3gpp2":{source:"iana",extensions:["3g2"]},"video/av1":{source:"iana"},"video/bmpeg":{source:"iana"},"video/bt656":{source:"iana"},"video/celb":{source:"iana"},"video/dv":{source:"iana"},"video/encaprtp":{source:"iana"},"video/evc":{source:"iana"},"video/ffv1":{source:"iana"},"video/flexfec":{source:"iana"},"video/h261":{source:"iana",extensions:["h261"]},"video/h263":{source:"iana",extensions:["h263"]},"video/h263-1998":{source:"iana"},"video/h263-2000":{source:"iana"},"video/h264":{source:"iana",extensions:["h264"]},"video/h264-rcdo":{source:"iana"},"video/h264-svc":{source:"iana"},"video/h265":{source:"iana"},"video/h266":{source:"iana"},"video/iso.segment":{source:"iana",extensions:["m4s"]},"video/jpeg":{source:"iana",extensions:["jpgv"]},"video/jpeg2000":{source:"iana"},"video/jpm":{source:"apache",extensions:["jpm","jpgm"]},"video/jxsv":{source:"iana"},"video/lottie+json":{source:"iana",compressible:!0},"video/matroska":{source:"iana"},"video/matroska-3d":{source:"iana"},"video/mj2":{source:"iana",extensions:["mj2","mjp2"]},"video/mp1s":{source:"iana"},"video/mp2p":{source:"iana"},"video/mp2t":{source:"iana",extensions:["ts","m2t","m2ts","mts"]},"video/mp4":{source:"iana",compressible:!1,extensions:["mp4","mp4v","mpg4"]},"video/mp4v-es":{source:"iana"},"video/mpeg":{source:"iana",compressible:!1,extensions:["mpeg","mpg","mpe","m1v","m2v"]},"video/mpeg4-generic":{source:"iana"},"video/mpv":{source:"iana"},"video/nv":{source:"iana"},"video/ogg":{source:"iana",compressible:!1,extensions:["ogv"]},"video/parityfec":{source:"iana"},"video/pointer":{source:"iana"},"video/quicktime":{source:"iana",compressible:!1,extensions:["qt","mov"]},"video/raptorfec":{source:"iana"},"video/raw":{source:"iana"},"video/rtp-enc-aescm128":{source:"iana"},"video/rtploopback":{source:"iana"},"video/rtx":{source:"iana"},"video/scip":{source:"iana"},"video/smpte291":{source:"iana"},"video/smpte292m":{source:"iana"},"video/ulpfec":{source:"iana"},"video/vc1":{source:"iana"},"video/vc2":{source:"iana"},"video/vnd.cctv":{source:"iana"},"video/vnd.dece.hd":{source:"iana",extensions:["uvh","uvvh"]},"video/vnd.dece.mobile":{source:"iana",extensions:["uvm","uvvm"]},"video/vnd.dece.mp4":{source:"iana"},"video/vnd.dece.pd":{source:"iana",extensions:["uvp","uvvp"]},"video/vnd.dece.sd":{source:"iana",extensions:["uvs","uvvs"]},"video/vnd.dece.video":{source:"iana",extensions:["uvv","uvvv"]},"video/vnd.directv.mpeg":{source:"iana"},"video/vnd.directv.mpeg-tts":{source:"iana"},"video/vnd.dlna.mpeg-tts":{source:"iana"},"video/vnd.dvb.file":{source:"iana",extensions:["dvb"]},"video/vnd.fvt":{source:"iana",extensions:["fvt"]},"video/vnd.hns.video":{source:"iana"},"video/vnd.iptvforum.1dparityfec-1010":{source:"iana"},"video/vnd.iptvforum.1dparityfec-2005":{source:"iana"},"video/vnd.iptvforum.2dparityfec-1010":{source:"iana"},"video/vnd.iptvforum.2dparityfec-2005":{source:"iana"},"video/vnd.iptvforum.ttsavc":{source:"iana"},"video/vnd.iptvforum.ttsmpeg2":{source:"iana"},"video/vnd.motorola.video":{source:"iana"},"video/vnd.motorola.videop":{source:"iana"},"video/vnd.mpegurl":{source:"iana",extensions:["mxu","m4u"]},"video/vnd.ms-playready.media.pyv":{source:"iana",extensions:["pyv"]},"video/vnd.nokia.interleaved-multimedia":{source:"iana"},"video/vnd.nokia.mp4vr":{source:"iana"},"video/vnd.nokia.videovoip":{source:"iana"},"video/vnd.objectvideo":{source:"iana"},"video/vnd.planar":{source:"iana"},"video/vnd.radgamettools.bink":{source:"iana"},"video/vnd.radgamettools.smacker":{source:"apache"},"video/vnd.sealed.mpeg1":{source:"iana"},"video/vnd.sealed.mpeg4":{source:"iana"},"video/vnd.sealed.swf":{source:"iana"},"video/vnd.sealedmedia.softseal.mov":{source:"iana"},"video/vnd.uvvu.mp4":{source:"iana",extensions:["uvu","uvvu"]},"video/vnd.vivo":{source:"iana",extensions:["viv"]},"video/vnd.youtube.yt":{source:"iana"},"video/vp8":{source:"iana"},"video/vp9":{source:"iana"},"video/webm":{source:"apache",compressible:!1,extensions:["webm"]},"video/x-f4v":{source:"apache",extensions:["f4v"]},"video/x-fli":{source:"apache",extensions:["fli"]},"video/x-flv":{source:"apache",compressible:!1,extensions:["flv"]},"video/x-m4v":{source:"apache",extensions:["m4v"]},"video/x-matroska":{source:"apache",compressible:!1,extensions:["mkv","mk3d","mks"]},"video/x-mng":{source:"apache",extensions:["mng"]},"video/x-ms-asf":{source:"apache",extensions:["asf","asx"]},"video/x-ms-vob":{source:"apache",extensions:["vob"]},"video/x-ms-wm":{source:"apache",extensions:["wm"]},"video/x-ms-wmv":{source:"apache",compressible:!1,extensions:["wmv"]},"video/x-ms-wmx":{source:"apache",extensions:["wmx"]},"video/x-ms-wvx":{source:"apache",extensions:["wvx"]},"video/x-msvideo":{source:"apache",extensions:["avi"]},"video/x-sgi-movie":{source:"apache",extensions:["movie"]},"video/x-smv":{source:"apache",extensions:["smv"]},"x-conference/x-cooltalk":{source:"apache",extensions:["ice"]},"x-shader/x-fragment":{compressible:!0},"x-shader/x-vertex":{compressible:!0}}});var eI=Q((VJ,$C)=>{$C.exports=XC()});var oI=Q((qJ,iI)=>{var tI={"prs.":100,"x-":200,"x.":300,"vnd.":400,default:900},sI={nginx:10,apache:20,iana:40,default:30},rI={application:1,font:2,audio:2,video:3,default:0};iI.exports=function(t,s="default"){if(t==="application/octet-stream")return 0;let[r,i]=t.split("/"),o=i.replace(/(\.|x-).*/,"$1"),n=tI[o]||tI.default,a=sI[s]||sI.default,A=rI[r]||rI.default,c=1-t.length/100;return n+a+A+c}});var cI=Q(Ae=>{"use strict";var qs=eI(),YM=require("path").extname,nI=oI(),aI=/^\s*([^;\s]*)(?:;|\s|$)/,OM=/^text\//i;Ae.charset=AI;Ae.charsets={lookup:AI};Ae.contentType=JM;Ae.extension=qu;Ae.extensions=Object.create(null);Ae.lookup=PM;Ae.types=Object.create(null);Ae._extensionConflicts=[];HM(Ae.extensions,Ae.types);function AI(e){if(!e||typeof e!="string")return!1;var t=aI.exec(e),s=t&&qs[t[1].toLowerCase()];return s&&s.charset?s.charset:t&&OM.test(t[1])?"UTF-8":!1}function JM(e){if(!e||typeof e!="string")return!1;var t=e.indexOf("/")===-1?Ae.lookup(e):e;if(!t)return!1;if(t.indexOf("charset")===-1){var s=Ae.charset(t);s&&(t+="; charset="+s.toLowerCase())}return t}function qu(e){if(!e||typeof e!="string")return!1;var t=aI.exec(e),s=t&&Ae.extensions[t[1].toLowerCase()];return!s||!s.length?!1:s[0]}function PM(e){if(!e||typeof e!="string")return!1;var t=YM("x."+e).toLowerCase().slice(1);return t&&Ae.types[t]||!1}function HM(e,t){Object.keys(qs).forEach(function(r){var i=qs[r],o=i.extensions;if(!(!o||!o.length)){e[r]=o;for(var n=0;ni?t:s}function qM(e,t,s){var r=["nginx","apache",void 0,"iana"],i=t?r.indexOf(qs[t].source):0,o=s?r.indexOf(qs[s].source):0;return Ae.types[qu]!=="application/octet-stream"&&(i>o||i===o&&Ae.types[qu]?.slice(0,12)==="application/")||i>o?t:s}});var fp=de(require("os"),1);function zt(e){return e==null?"":typeof e=="string"||e instanceof String?e:JSON.stringify(e)}function Ep(e){return Object.keys(e).length?{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}:{}}function $a(e,t,s){let r=new Xa(e,t,s);process.stdout.write(r.toString()+fp.EOL)}var mp="::",Xa=class{constructor(t,s,r){t||(t="missing.command"),this.command=t,this.properties=s,this.message=r}toString(){let t=mp+this.command;if(this.properties&&Object.keys(this.properties).length>0){t+=" ";let s=!0;for(let r in this.properties)if(this.properties.hasOwnProperty(r)){let i=this.properties[r];i&&(s?s=!1:t+=",",t+=`${r}=${Jw(i)}`)}}return t+=`${mp}${Ow(this.message)}`,t}};function Ow(e){return zt(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function Jw(e){return zt(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}var Qp=de(require("crypto"),1),Co=de(require("fs"),1),Bo=de(require("os"),1);function Bp(e,t){let s=process.env[`GITHUB_${e}`];if(!s)throw new Error(`Unable to find environment variable for file command ${e}`);if(!Co.existsSync(s))throw new Error(`Missing file at path: ${s}`);Co.appendFileSync(s,`${zt(t)}${Bo.EOL}`,{encoding:"utf8"})}function Cp(e,t){let s=`ghadelimiter_${Qp.randomUUID()}`,r=zt(t);if(e.includes(s))throw new Error(`Unexpected input: name should not contain the delimiter "${s}"`);if(r.includes(s))throw new Error(`Unexpected input: value should not contain the delimiter "${s}"`);return`${e}<<${s}${Bo.EOL}${r}${Bo.EOL}${s}`}var eC=de(require("os"),1);var fa=de(sA(),1),aG=de(ma(),1);var xt;(function(e){e[e.OK=200]="OK",e[e.MultipleChoices=300]="MultipleChoices",e[e.MovedPermanently=301]="MovedPermanently",e[e.ResourceMoved=302]="ResourceMoved",e[e.SeeOther=303]="SeeOther",e[e.NotModified=304]="NotModified",e[e.UseProxy=305]="UseProxy",e[e.SwitchProxy=306]="SwitchProxy",e[e.TemporaryRedirect=307]="TemporaryRedirect",e[e.PermanentRedirect=308]="PermanentRedirect",e[e.BadRequest=400]="BadRequest",e[e.Unauthorized=401]="Unauthorized",e[e.PaymentRequired=402]="PaymentRequired",e[e.Forbidden=403]="Forbidden",e[e.NotFound=404]="NotFound",e[e.MethodNotAllowed=405]="MethodNotAllowed",e[e.NotAcceptable=406]="NotAcceptable",e[e.ProxyAuthenticationRequired=407]="ProxyAuthenticationRequired",e[e.RequestTimeout=408]="RequestTimeout",e[e.Conflict=409]="Conflict",e[e.Gone=410]="Gone",e[e.TooManyRequests=429]="TooManyRequests",e[e.InternalServerError=500]="InternalServerError",e[e.NotImplemented=501]="NotImplemented",e[e.BadGateway=502]="BadGateway",e[e.ServiceUnavailable=503]="ServiceUnavailable",e[e.GatewayTimeout=504]="GatewayTimeout"})(xt||(xt={}));var zB;(function(e){e.Accept="accept",e.ContentType="content-type"})(zB||(zB={}));var ZB;(function(e){e.ApplicationJson="application/json"})(ZB||(ZB={}));var tO=[xt.MovedPermanently,xt.ResourceMoved,xt.SeeOther,xt.TemporaryRedirect,xt.PermanentRedirect],sO=[xt.BadGateway,xt.ServiceUnavailable,xt.GatewayTimeout];var XB=require("os"),$i=require("fs"),wu=function(e,t,s,r){function i(o){return o instanceof s?o:new s(function(n){n(o)})}return new(s||(s=Promise))(function(o,n){function a(u){try{c(r.next(u))}catch(l){n(l)}}function A(u){try{c(r.throw(u))}catch(l){n(l)}}function c(u){u.done?o(u.value):i(u.value).then(a,A)}c((r=r.apply(e,t||[])).next())})},{access:AG,appendFile:cG,writeFile:lG}=$i.promises,KB="GITHUB_STEP_SUMMARY";var bu=class{constructor(){this._buffer=""}filePath(){return wu(this,void 0,void 0,function*(){if(this._filePath)return this._filePath;let t=process.env[KB];if(!t)throw new Error(`Unable to find environment variable for $${KB}. Check if your runtime environment supports job summaries.`);try{yield AG(t,$i.constants.R_OK|$i.constants.W_OK)}catch{throw new Error(`Unable to access summary file: '${t}'. Check if the file has correct read/write permissions.`)}return this._filePath=t,this._filePath})}wrap(t,s,r={}){let i=Object.entries(r).map(([o,n])=>` ${o}="${n}"`).join("");return s?`<${t}${i}>${s}`:`<${t}${i}>`}write(t){return wu(this,void 0,void 0,function*(){let s=!!t?.overwrite,r=yield this.filePath();return yield(s?lG:cG)(r,this._buffer,{encoding:"utf8"}),this.emptyBuffer()})}clear(){return wu(this,void 0,void 0,function*(){return this.emptyBuffer().write({overwrite:!0})})}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){return this._buffer="",this}addRaw(t,s=!1){return this._buffer+=t,s?this.addEOL():this}addEOL(){return this.addRaw(XB.EOL)}addCodeBlock(t,s){let r=Object.assign({},s&&{lang:s}),i=this.wrap("pre",this.wrap("code",t),r);return this.addRaw(i).addEOL()}addList(t,s=!1){let r=s?"ol":"ul",i=t.map(n=>this.wrap("li",n)).join(""),o=this.wrap(r,i);return this.addRaw(o).addEOL()}addTable(t){let s=t.map(i=>{let o=i.map(n=>{if(typeof n=="string")return this.wrap("td",n);let{header:a,data:A,colspan:c,rowspan:u}=n,l=a?"th":"td",p=Object.assign(Object.assign({},c&&{colspan:c}),u&&{rowspan:u});return this.wrap(l,A,p)}).join("");return this.wrap("tr",o)}).join(""),r=this.wrap("table",s);return this.addRaw(r).addEOL()}addDetails(t,s){let r=this.wrap("details",this.wrap("summary",t)+s);return this.addRaw(r).addEOL()}addImage(t,s,r){let{width:i,height:o}=r||{},n=Object.assign(Object.assign({},i&&{width:i}),o&&{height:o}),a=this.wrap("img",null,Object.assign({src:t,alt:s},n));return this.addRaw(a).addEOL()}addHeading(t,s){let r=`h${s}`,i=["h1","h2","h3","h4","h5","h6"].includes(r)?r:"h1",o=this.wrap(i,t);return this.addRaw(o).addEOL()}addSeparator(){let t=this.wrap("hr",null);return this.addRaw(t).addEOL()}addBreak(){let t=this.wrap("br",null);return this.addRaw(t).addEOL()}addQuote(t,s){let r=Object.assign({},s&&{cite:s}),i=this.wrap("blockquote",t,r);return this.addRaw(i).addEOL()}addLink(t,s){let r=this.wrap("a",t,{href:s});return this.addRaw(r).addEOL()}},gO=new bu;var yu=de(require("os"),1);var Qa=de(require("fs"),1);var{chmod:uG,copyFile:pG,lstat:gG,mkdir:hG,open:EO,readdir:dG,rename:EG,rm:mG,rmdir:mO,stat:fG,symlink:QG,unlink:BG}=Qa.promises,CG=process.platform==="win32";var fO=Qa.constants.O_RDONLY;var wO=process.platform==="win32";var vO=yu.default.platform(),kO=yu.default.arch();var xu;(function(e){e[e.Success=0]="Success",e[e.Failure=1]="Failure"})(xu||(xu={}));function eo(e,t){if(process.env.GITHUB_OUTPUT||"")return Bp("OUTPUT",Cp(e,t));process.stdout.write(eC.EOL),$a("set-output",{name:e},zt(t))}function tC(e){process.exitCode=xu.Failure,kG(e)}function kG(e,t={}){$a("error",Ep(t),e instanceof Error?e.toString():e)}var Ba=require("fs"),sC=require("os"),Wr=class{constructor(){var t,s,r;if(this.payload={},process.env.GITHUB_EVENT_PATH)if((0,Ba.existsSync)(process.env.GITHUB_EVENT_PATH))this.payload=JSON.parse((0,Ba.readFileSync)(process.env.GITHUB_EVENT_PATH,{encoding:"utf8"}));else{let i=process.env.GITHUB_EVENT_PATH;process.stdout.write(`GITHUB_EVENT_PATH ${i} does not exist${sC.EOL}`)}this.eventName=process.env.GITHUB_EVENT_NAME,this.sha=process.env.GITHUB_SHA,this.ref=process.env.GITHUB_REF,this.workflow=process.env.GITHUB_WORKFLOW,this.action=process.env.GITHUB_ACTION,this.actor=process.env.GITHUB_ACTOR,this.job=process.env.GITHUB_JOB,this.runAttempt=parseInt(process.env.GITHUB_RUN_ATTEMPT,10),this.runNumber=parseInt(process.env.GITHUB_RUN_NUMBER,10),this.runId=parseInt(process.env.GITHUB_RUN_ID,10),this.apiUrl=(t=process.env.GITHUB_API_URL)!==null&&t!==void 0?t:"https://api.github.com",this.serverUrl=(s=process.env.GITHUB_SERVER_URL)!==null&&s!==void 0?s:"https://github.com",this.graphqlUrl=(r=process.env.GITHUB_GRAPHQL_URL)!==null&&r!==void 0?r:"https://api.github.com/graphql"}get issue(){let t=this.payload;return Object.assign(Object.assign({},this.repo),{number:(t.issue||t.pull_request||t).number})}get repo(){if(process.env.GITHUB_REPOSITORY){let[t,s]=process.env.GITHUB_REPOSITORY.split("/");return{owner:t,repo:s}}if(this.payload.repository)return{owner:this.payload.repository.owner.login,repo:this.payload.repository.name};throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'")}};var Ru=de(aC(),1),AC=de(ma(),1),OG=function(e,t,s,r){function i(o){return o instanceof s?o:new s(function(n){n(o)})}return new(s||(s=Promise))(function(o,n){function a(u){try{c(r.next(u))}catch(l){n(l)}}function A(u){try{c(r.throw(u))}catch(l){n(l)}}function c(u){u.done?o(u.value):i(u.value).then(a,A)}c((r=r.apply(e,t||[])).next())})};function cC(e,t){if(!e&&!t.auth)throw new Error("Parameter token or opts.auth is required");if(e&&t.auth)throw new Error("Parameters token and opts.auth may not both be specified");return typeof t.auth=="string"?t.auth:`token ${e}`}function lC(e){return new Ru.HttpClient().getAgent(e)}function JG(e){return new Ru.HttpClient().getAgentDispatcher(e)}function uC(e){let t=JG(e);return(r,i)=>OG(this,void 0,void 0,function*(){return(0,AC.fetch)(r,Object.assign(Object.assign({},i),{dispatcher:t}))})}function pC(){return process.env.GITHUB_API_URL||"https://api.github.com"}function Tu(e){var t;let s=(t=process.env.ACTIONS_ORCHESTRATION_ID)===null||t===void 0?void 0:t.trim();if(s){let i=`actions_orchestration_id/${s.replace(/[^a-z0-9_.-]/gi,"_")}`;return e?.includes(i)?e:`${e?`${e} `:""}${i}`}return e}function ds(){return typeof navigator=="object"&&"userAgent"in navigator?navigator.userAgent:typeof process=="object"&&process.version!==void 0?`Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`:""}function va(e,t,s,r){if(typeof s!="function")throw new Error("method for before hook must be a function");return r||(r={}),Array.isArray(t)?t.reverse().reduce((i,o)=>va.bind(null,e,o,i,r),s)():Promise.resolve().then(()=>e.registry[t]?e.registry[t].reduce((i,o)=>o.hook.bind(null,i,r),s)():s(r))}function gC(e,t,s,r){let i=r;e.registry[s]||(e.registry[s]=[]),t==="before"&&(r=(o,n)=>Promise.resolve().then(i.bind(null,n)).then(o.bind(null,n))),t==="after"&&(r=(o,n)=>{let a;return Promise.resolve().then(o.bind(null,n)).then(A=>(a=A,i(a,n))).then(()=>a)}),t==="error"&&(r=(o,n)=>Promise.resolve().then(o.bind(null,n)).catch(a=>i(a,n))),e.registry[s].push({hook:r,orig:i})}function hC(e,t,s){if(!e.registry[t])return;let r=e.registry[t].map(i=>i.orig).indexOf(s);r!==-1&&e.registry[t].splice(r,1)}var dC=Function.bind,EC=dC.bind(dC);function mC(e,t,s){let r=EC(hC,null).apply(null,s?[t,s]:[t]);e.api={remove:r},e.remove=r,["before","error","after","wrap"].forEach(i=>{let o=s?[t,i,s]:[t,i];e[i]=e.api[i]=EC(gC,null).apply(null,o)})}function HG(){let e=Symbol("Singular"),t={registry:{}},s=va.bind(null,t,e);return mC(s,t,e),s}function VG(){let e={registry:{}},t=va.bind(null,e);return mC(t,e),t}var fC={Singular:HG,Collection:VG};var qG="0.0.0-development",WG=`octokit-endpoint.js/${qG} ${ds()}`,jG={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":WG},mediaType:{format:""}};function zG(e){return e?Object.keys(e).reduce((t,s)=>(t[s.toLowerCase()]=e[s],t),{}):{}}function ZG(e){if(typeof e!="object"||e===null||Object.prototype.toString.call(e)!=="[object Object]")return!1;let t=Object.getPrototypeOf(e);if(t===null)return!0;let s=Object.prototype.hasOwnProperty.call(t,"constructor")&&t.constructor;return typeof s=="function"&&s instanceof s&&Function.prototype.call(s)===Function.prototype.call(e)}function CC(e,t){let s=Object.assign({},e);return Object.keys(t).forEach(r=>{ZG(t[r])?r in e?s[r]=CC(e[r],t[r]):Object.assign(s,{[r]:t[r]}):Object.assign(s,{[r]:t[r]})}),s}function QC(e){for(let t in e)e[t]===void 0&&delete e[t];return e}function Su(e,t,s){if(typeof t=="string"){let[i,o]=t.split(" ");s=Object.assign(o?{method:i,url:o}:{url:i},s)}else s=Object.assign({},t);s.headers=zG(s.headers),QC(s),QC(s.headers);let r=CC(e||{},s);return s.url==="/graphql"&&(e&&e.mediaType.previews?.length&&(r.mediaType.previews=e.mediaType.previews.filter(i=>!r.mediaType.previews.includes(i)).concat(r.mediaType.previews)),r.mediaType.previews=(r.mediaType.previews||[]).map(i=>i.replace(/-preview/,""))),r}function KG(e,t){let s=/\?/.test(e)?"&":"?",r=Object.keys(t);return r.length===0?e:e+s+r.map(i=>i==="q"?"q="+t.q.split("+").map(encodeURIComponent).join("+"):`${i}=${encodeURIComponent(t[i])}`).join("&")}var XG=/\{[^{}}]+\}/g;function $G(e){return e.replace(/(?:^\W+)|(?:(?s.concat(r),[]):[]}function BC(e,t){let s={__proto__:null};for(let r of Object.keys(e))t.indexOf(r)===-1&&(s[r]=e[r]);return s}function IC(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map(function(t){return/%[0-9A-Fa-f]/.test(t)||(t=encodeURI(t).replace(/%5B/g,"[").replace(/%5D/g,"]")),t}).join("")}function zr(e){return encodeURIComponent(e).replace(/[!'()*]/g,function(t){return"%"+t.charCodeAt(0).toString(16).toUpperCase()})}function so(e,t,s){return t=e==="+"||e==="#"?IC(t):zr(t),s?zr(s)+"="+t:t}function jr(e){return e!=null}function Fu(e){return e===";"||e==="&"||e==="?"}function tM(e,t,s,r){var i=e[s],o=[];if(jr(i)&&i!=="")if(typeof i=="string"||typeof i=="number"||typeof i=="bigint"||typeof i=="boolean")i=i.toString(),r&&r!=="*"&&(i=i.substring(0,parseInt(r,10))),o.push(so(t,i,Fu(t)?s:""));else if(r==="*")Array.isArray(i)?i.filter(jr).forEach(function(n){o.push(so(t,n,Fu(t)?s:""))}):Object.keys(i).forEach(function(n){jr(i[n])&&o.push(so(t,i[n],n))});else{let n=[];Array.isArray(i)?i.filter(jr).forEach(function(a){n.push(so(t,a))}):Object.keys(i).forEach(function(a){jr(i[a])&&(n.push(zr(a)),n.push(so(t,i[a].toString())))}),Fu(t)?o.push(zr(s)+"="+n.join(",")):n.length!==0&&o.push(n.join(","))}else t===";"?jr(i)&&o.push(zr(s)):i===""&&(t==="&"||t==="?")?o.push(zr(s)+"="):i===""&&o.push("");return o}function sM(e){return{expand:rM.bind(null,e)}}function rM(e,t){var s=["+","#",".","/",";","?","&"];return e=e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,function(r,i,o){if(i){let a="",A=[];if(s.indexOf(i.charAt(0))!==-1&&(a=i.charAt(0),i=i.substr(1)),i.split(/,/g).forEach(function(c){var u=/([^:\*]*)(?::(\d+)|(\*))?/.exec(c);A.push(tM(t,a,u[1],u[2]||u[3]))}),a&&a!=="+"){var n=",";return a==="?"?n="&":a!=="#"&&(n=a),(A.length!==0?a:"")+A.join(n)}else return A.join(",")}else return IC(o)}),e==="/"?e:e.replace(/\/$/,"")}function wC(e){let t=e.method.toUpperCase(),s=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}"),r=Object.assign({},e.headers),i,o=BC(e,["method","baseUrl","url","headers","request","mediaType"]),n=eM(s);s=sM(s).expand(o),/^http/.test(s)||(s=e.baseUrl+s);let a=Object.keys(e).filter(u=>n.includes(u)).concat("baseUrl"),A=BC(o,a);if(!/application\/octet-stream/i.test(r.accept)&&(e.mediaType.format&&(r.accept=r.accept.split(/,/).map(u=>u.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`)).join(",")),s.endsWith("/graphql")&&e.mediaType.previews?.length)){let u=r.accept.match(/(?{let p=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${l}-preview${p}`}).join(",")}return["GET","HEAD"].includes(t)?s=KG(s,A):"data"in A?i=A.data:Object.keys(A).length&&(i=A),!r["content-type"]&&typeof i<"u"&&(r["content-type"]="application/json; charset=utf-8"),["PATCH","PUT"].includes(t)&&typeof i>"u"&&(i=""),Object.assign({method:t,url:s,headers:r},typeof i<"u"?{body:i}:null,e.request?{request:e.request}:null)}function iM(e,t,s){return wC(Su(e,t,s))}function bC(e,t){let s=Su(e,t),r=iM.bind(null,s);return Object.assign(r,{DEFAULTS:s,defaults:bC.bind(null,s),merge:Su.bind(null,s),parse:wC})}var yC=bC(null,jG);var LC=de(DC(),1);var oM=/^-?\d+$/,FC=/^-?\d+n+$/,Uu=JSON.stringify,RC=JSON.parse,nM=/^-?\d+n$/,aM=/([\[:])?"(-?\d+)n"($|([\\n]|\s)*(\s|[\\n])*[,\}\]])/g,AM=/([\[:])?("-?\d+n+)n("$|"([\\n]|\s)*(\s|[\\n])*[,\}\]])/g,SC=(e,t,s)=>"rawJSON"in JSON?Uu(e,(n,a)=>typeof a=="bigint"?JSON.rawJSON(a.toString()):typeof t=="function"?t(n,a):(Array.isArray(t)&&t.includes(n),a),s):e?Uu(e,(n,a)=>typeof a=="string"&&!!a.match(FC)||typeof a=="bigint"?a.toString()+"n":typeof t=="function"?t(n,a):(Array.isArray(t)&&t.includes(n),a),s).replace(aM,"$1$2$3").replace(AM,"$1$2$3"):Uu(e,t,s),cM=()=>JSON.parse("1",(e,t,s)=>!!s&&s.source==="1"),lM=(e,t,s,r)=>typeof t=="string"&&t.match(nM)?BigInt(t.slice(0,-1)):typeof t=="string"&&t.match(FC)?t.slice(0,-1):typeof r!="function"?t:r(e,t,s),uM=(e,t)=>JSON.parse(e,(s,r,i)=>{let o=typeof r=="number"&&(r>Number.MAX_SAFE_INTEGER||r{if(!e)return RC(e,t);if(cM())return uM(e,t);let s=e.replace(pM,(r,i,o,n)=>{let a=r[0]==='"';if(a&&!!r.match(gM))return r.substring(0,r.length-1)+'n"';let c=o||n,u=i&&(i.lengthlM(r,i,o,t))};var Hs=class extends Error{name;status;request;response;constructor(t,s,r){super(t,{cause:r.cause}),this.name="HttpError",this.status=Number.parseInt(s),Number.isNaN(this.status)&&(this.status=0);"response"in r&&(this.response=r.response);let i=Object.assign({},r.request);r.request.headers.authorization&&(i.headers=Object.assign({},r.request.headers,{authorization:r.request.headers.authorization.replace(/(?"";async function MC(e){let t=e.request?.fetch||globalThis.fetch;if(!t)throw new Error("fetch is not set. Please pass a fetch implementation as new Octokit({ request: { fetch }}). Learn more at https://github.com/octokit/octokit.js/#fetch-missing");let s=e.request?.log||console,r=e.request?.parseSuccessResponseBody!==!1,i=EM(e.body)||Array.isArray(e.body)?SC(e.body):e.body,o=Object.fromEntries(Object.entries(e.headers).map(([l,p])=>[l,String(p)])),n;try{n=await t(e.url,{method:e.method,body:i,redirect:e.request?.redirect,headers:o,signal:e.request?.signal,...e.body&&{duplex:"half"}})}catch(l){let p="Unknown Error";if(l instanceof Error){if(l.name==="AbortError")throw l.status=500,l;p=l.message,l.name==="TypeError"&&"cause"in l&&(l.cause instanceof Error?p=l.cause.message:typeof l.cause=="string"&&(p=l.cause))}let g=new Hs(p,500,{request:e});throw g.cause=l,g}let a=n.status,A=n.url,c={};for(let[l,p]of n.headers)c[l]=p;let u={url:A,status:a,headers:c,data:""};if("deprecation"in c){let l=c.link&&c.link.match(/<([^<>]+)>; rel="deprecation"/),p=l&&l.pop();s.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${c.sunset}${p?`. See ${p}`:""}`)}if(a===204||a===205)return u;if(e.method==="HEAD"){if(a<400)return u;throw new Hs(n.statusText,a,{response:u,request:e})}if(a===304)throw u.data=await Nu(n),new Hs("Not modified",a,{response:u,request:e});if(a>=400)throw u.data=await Nu(n),new Hs(fM(u.data),a,{response:u,request:e});return u.data=r?await Nu(n):n.body,u}async function Nu(e){let t=e.headers.get("content-type");if(!t)return e.text().catch(GC);let s=(0,LC.safeParse)(t);if(mM(s)){let r="";try{return r=await e.text(),NC(r)}catch{return r}}else return s.type.startsWith("text/")||s.parameters.charset?.toLowerCase()==="utf-8"?e.text().catch(GC):e.arrayBuffer().catch(()=>new ArrayBuffer(0))}function mM(e){return e.type==="application/json"||e.type==="application/scim+json"}function fM(e){if(typeof e=="string")return e;if(e instanceof ArrayBuffer)return"Unknown error";if("message"in e){let t="documentation_url"in e?` - ${e.documentation_url}`:"";return Array.isArray(e.errors)?`${e.message}: ${e.errors.map(s=>JSON.stringify(s)).join(", ")}${t}`:`${e.message}${t}`}return`Unknown error: ${JSON.stringify(e)}`}function Gu(e,t){let s=e.defaults(t);return Object.assign(function(i,o){let n=s.merge(i,o);if(!n.request||!n.request.hook)return MC(s.parse(n));let a=(A,c)=>MC(s.parse(s.merge(A,c)));return Object.assign(a,{endpoint:s,defaults:Gu.bind(null,s)}),n.request.hook(a,n)},{endpoint:s,defaults:Gu.bind(null,s)})}var io=Gu(yC,dM);var QM="0.0.0-development";function BM(e){return`Request failed due to following response errors: +`+e.errors.map(t=>` - ${t.message}`).join(` +`)}var CM=class extends Error{constructor(e,t,s){super(BM(s)),this.request=e,this.headers=t,this.response=s,this.errors=s.errors,this.data=s.data,Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}name="GraphqlResponseError";errors;data},IM=["method","baseUrl","url","headers","request","query","mediaType","operationName"],wM=["query","method","url"],_C=/\/api\/v3\/?$/;function bM(e,t,s){if(s){if(typeof t=="string"&&"query"in s)return Promise.reject(new Error('[@octokit/graphql] "query" cannot be used as variable name'));for(let n in s)if(wM.includes(n))return Promise.reject(new Error(`[@octokit/graphql] "${n}" cannot be used as variable name`))}let r=typeof t=="string"?Object.assign({query:t},s):t,i=Object.keys(r).reduce((n,a)=>IM.includes(a)?(n[a]=r[a],n):(n.variables||(n.variables={}),n.variables[a]=r[a],n),{}),o=r.baseUrl||e.endpoint.DEFAULTS.baseUrl;return _C.test(o)&&(i.url=o.replace(_C,"/api/graphql")),e(i).then(n=>{if(n.data.errors){let a={};for(let A of Object.keys(n.headers))a[A]=n.headers[A];throw new CM(i,a,n.data)}return n.data.data})}function Mu(e,t){let s=e.defaults(t);return Object.assign((i,o)=>bM(s,i,o),{defaults:Mu.bind(null,s),endpoint:s.endpoint})}var pJ=Mu(io,{headers:{"user-agent":`octokit-graphql.js/${QM} ${ds()}`},method:"POST",url:"/graphql"});function YC(e){return Mu(e,{method:"POST",url:"/graphql"})}var Lu="(?:[a-zA-Z0-9_-]+)",OC="\\.",JC=new RegExp(`^${Lu}${OC}${Lu}${OC}${Lu}$`),yM=JC.test.bind(JC);async function xM(e){let t=yM(e),s=e.startsWith("v1.")||e.startsWith("ghs_"),r=e.startsWith("ghu_");return{type:"token",token:e,tokenType:t?"app":s?"installation":r?"user-to-server":"oauth"}}function vM(e){return e.split(/\./).length===3?`bearer ${e}`:`token ${e}`}async function kM(e,t,s,r){let i=t.endpoint.merge(s,r);return i.headers.authorization=vM(e),t(i)}var PC=function(t){if(!t)throw new Error("[@octokit/auth-token] No token passed to createTokenAuth");if(typeof t!="string")throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string");return t=t.replace(/^(token|bearer) +/i,""),Object.assign(xM.bind(null,t),{hook:kM.bind(null,t)})};var _u="7.0.6";var HC=()=>{},DM=console.warn.bind(console),RM=console.error.bind(console);function TM(e={}){return typeof e.debug!="function"&&(e.debug=HC),typeof e.info!="function"&&(e.info=HC),typeof e.warn!="function"&&(e.warn=DM),typeof e.error!="function"&&(e.error=RM),e}var VC=`octokit-core.js/${_u} ${ds()}`,Ta=class{static VERSION=_u;static defaults(t){return class extends this{constructor(...r){let i=r[0]||{};if(typeof t=="function"){super(t(i));return}super(Object.assign({},t,i,i.userAgent&&t.userAgent?{userAgent:`${i.userAgent} ${t.userAgent}`}:null))}}}static plugins=[];static plugin(...t){let s=this.plugins;return class extends this{static plugins=s.concat(t.filter(i=>!s.includes(i)))}}constructor(t={}){let s=new fC.Collection,r={baseUrl:io.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},t.request,{hook:s.bind(null,"request")}),mediaType:{previews:[],format:""}};if(r.headers["user-agent"]=t.userAgent?`${t.userAgent} ${VC}`:VC,t.baseUrl&&(r.baseUrl=t.baseUrl),t.previews&&(r.mediaType.previews=t.previews),t.timeZone&&(r.headers["time-zone"]=t.timeZone),this.request=io.defaults(r),this.graphql=YC(this.request).defaults(r),this.log=TM(t.log),this.hook=s,t.authStrategy){let{authStrategy:o,...n}=t,a=o(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:n},t.auth));s.wrap("request",a.hook),this.auth=a}else if(!t.auth)this.auth=async()=>({type:"unauthenticated"});else{let o=PC(t.auth);s.wrap("request",o.hook),this.auth=o}let i=this.constructor;for(let o=0;o({async next(){if(!a)return{done:!0};try{let A=await i({method:o,url:a,headers:n}),c=MM(A);if(a=((c.headers.link||"").match(/<([^<>]+)>;\s*rel="next"/)||[])[1],!a&&"total_commits"in c.data){let u=new URL(c.url),l=u.searchParams,p=parseInt(l.get("page")||"1",10),g=parseInt(l.get("per_page")||"250",10);p*g{if(i.done)return t;let o=!1;function n(){o=!0}return t=t.concat(r?r(i.value,n):i.value.data),o?t:jC(e,t,s,r)})}var SJ=Object.assign(WC,{iterator:Pu});function Hu(e){return{paginate:Object.assign(WC.bind(null,e),{iterator:Pu.bind(null,e)})}}Hu.VERSION=GM;var LJ=new Wr,Vu=pC(),LM={baseUrl:Vu,request:{agent:lC(Vu),fetch:uC(Vu)}},zC=Ta.plugin(Ju,Hu).defaults(LM);function ZC(e,t){let s=Object.assign({},t||{}),r=cC(e,s);r&&(s.auth=r);let i=Tu(s.userAgent);return i&&(s.userAgent=i),s}var JJ=new Wr;function KC(e,t,...s){let r=zC.plugin(...s);return new r(ZC(e,t))}var kw=require("fs"),Dw=require("fs/promises"),Rw=de(cI()),Tw=require("path");var VI=require("node:url"),$r=require("node:path"),ZI=require("node:url"),Dt=require("fs"),XL=de(require("node:fs"),1),Qs=require("node:fs/promises"),qa=require("node:events"),ip=de(require("node:stream"),1),KI=require("node:string_decoder"),SI=(e,t,s)=>{let r=e instanceof RegExp?lI(e,s):e,i=t instanceof RegExp?lI(t,s):t,o=r!==null&&i!=null&&WM(r,i,s);return o&&{start:o[0],end:o[1],pre:s.slice(0,o[0]),body:s.slice(o[0]+r.length,o[1]),post:s.slice(o[1]+i.length)}},lI=(e,t)=>{let s=t.match(e);return s?s[0]:null},WM=(e,t,s)=>{let r,i,o,n,a,A=s.indexOf(e),c=s.indexOf(t,A+1),u=A;if(A>=0&&c>0){if(e===t)return[A,c];for(r=[],o=s.length;u>=0&&!a;){if(u===A)r.push(u),A=s.indexOf(e,u+1);else if(r.length===1){let l=r.pop();l!==void 0&&(a=[l,c])}else i=r.pop(),i!==void 0&&i=0?A:c}r.length&&n!==void 0&&(a=[o,n])}return a},UI="\0SLASH"+Math.random()+"\0",NI="\0OPEN"+Math.random()+"\0",sp="\0CLOSE"+Math.random()+"\0",GI="\0COMMA"+Math.random()+"\0",MI="\0PERIOD"+Math.random()+"\0",jM=new RegExp(UI,"g"),zM=new RegExp(NI,"g"),ZM=new RegExp(sp,"g"),KM=new RegExp(GI,"g"),XM=new RegExp(MI,"g"),$M=/\\\\/g,eL=/\\{/g,tL=/\\}/g,sL=/\\,/g,rL=/\\./g,iL=1e5;function Wu(e){return isNaN(e)?e.charCodeAt(0):parseInt(e,10)}function oL(e){return e.replace($M,UI).replace(eL,NI).replace(tL,sp).replace(sL,GI).replace(rL,MI)}function nL(e){return e.replace(jM,"\\").replace(zM,"{").replace(ZM,"}").replace(KM,",").replace(XM,".")}function LI(e){if(!e)return[""];let t=[],s=SI("{","}",e);if(!s)return e.split(",");let{pre:r,body:i,post:o}=s,n=r.split(",");n[n.length-1]+="{"+i+"}";let a=LI(o);return o.length&&(n[n.length-1]+=a.shift(),n.push.apply(n,a)),t.push.apply(t,n),t}function aL(e,t={}){if(!e)return[];let{max:s=iL}=t;return e.slice(0,2)==="{}"&&(e="\\{\\}"+e.slice(2)),uo(oL(e),s,!0).map(nL)}function AL(e){return"{"+e+"}"}function cL(e){return/^-?0\d/.test(e)}function lL(e,t){return e<=t}function uL(e,t){return e>=t}function uo(e,t,s){let r=[],i=SI("{","}",e);if(!i)return[e];let o=i.pre,n=i.post.length?uo(i.post,t,!1):[""];if(/\$$/.test(i.pre))for(let a=0;a=0;if(!c&&!u)return i.post.match(/,(?!,).*\}/)?(e=i.pre+"{"+i.body+sp+i.post,uo(e,t,!0)):[e];let l;if(c)l=i.body.split(/\.\./);else if(l=LI(i.body),l.length===1&&l[0]!==void 0&&(l=uo(l[0],t,!1).map(AL),l.length===1))return n.map(g=>i.pre+l[0]+g);let p;if(c&&l[0]!==void 0&&l[1]!==void 0){let g=Wu(l[0]),h=Wu(l[1]),E=Math.max(l[0].length,l[1].length),f=l.length===3&&l[2]!==void 0?Math.abs(Wu(l[2])):1,d=lL;h0){let S=new Array(b+1).join("0");C<0?B="-"+S+B.slice(1):B=S+B}}p.push(B)}}else{p=[];for(let g=0;g{if(typeof e!="string")throw new TypeError("invalid pattern");if(e.length>65536)throw new TypeError("pattern is too long")},pL={"[:alnum:]":["\\p{L}\\p{Nl}\\p{Nd}",!0],"[:alpha:]":["\\p{L}\\p{Nl}",!0],"[:ascii:]":["\\x00-\\x7f",!1],"[:blank:]":["\\p{Zs}\\t",!0],"[:cntrl:]":["\\p{Cc}",!0],"[:digit:]":["\\p{Nd}",!0],"[:graph:]":["\\p{Z}\\p{C}",!0,!0],"[:lower:]":["\\p{Ll}",!0],"[:print:]":["\\p{C}",!0],"[:punct:]":["\\p{P}",!0],"[:space:]":["\\p{Z}\\t\\r\\n\\v\\f",!0],"[:upper:]":["\\p{Lu}",!0],"[:word:]":["\\p{L}\\p{Nl}\\p{Nd}\\p{Pc}",!0],"[:xdigit:]":["A-Fa-f0-9",!1]},oo=e=>e.replace(/[[\]\\-]/g,"\\$&"),gL=e=>e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),uI=e=>e.join(""),hL=(e,t)=>{let s=t;if(e.charAt(s)!=="[")throw new Error("not in a brace expression");let r=[],i=[],o=s+1,n=!1,a=!1,A=!1,c=!1,u=s,l="";e:for(;ol?r.push(oo(l)+"-"+oo(h)):h===l&&r.push(oo(h)),l="",o++;continue}if(e.startsWith("-]",o+1)){r.push(oo(h+"-")),o+=2;continue}if(e.startsWith("-",o+1)){l=h,o+=2;continue}r.push(oo(h)),o++}if(us?t?e.replace(/\[([^\/\\])\]/g,"$1"):e.replace(/((?!\\).|^)\[([^\/\\])\]/g,"$1$2").replace(/\\([^\/])/g,"$1"):t?e.replace(/\[([^\/\\{}])\]/g,"$1"):e.replace(/((?!\\).|^)\[([^\/\\{}])\]/g,"$1$2").replace(/\\([^\/{}])/g,"$1"),dL=new Set(["!","?","+","*","@"]),pI=e=>dL.has(e),EL="(?!(?:^|/)\\.\\.?(?:$|/))",Fa="(?!\\.)",mL=new Set(["[","."]),fL=new Set(["..","."]),QL=new Set("().*{}+?[]^$\\!"),BL=e=>e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),rp="[^/]",gI=rp+"*?",hI=rp+"+?",_I=class He{type;#e;#t;#i=!1;#s=[];#r;#A;#a;#c=!1;#l;#g;#h=!1;constructor(t,s,r={}){this.type=t,t&&(this.#t=!0),this.#r=s,this.#e=this.#r?this.#r.#e:this,this.#l=this.#e===this?r:this.#e.#l,this.#a=this.#e===this?[]:this.#e.#a,t==="!"&&!this.#e.#c&&this.#a.push(this),this.#A=this.#r?this.#r.#s.length:0}get hasMagic(){if(this.#t!==void 0)return this.#t;for(let t of this.#s)if(typeof t!="string"&&(t.type||t.hasMagic))return this.#t=!0;return this.#t}toString(){return this.#g!==void 0?this.#g:this.type?this.#g=this.type+"("+this.#s.map(t=>String(t)).join("|")+")":this.#g=this.#s.map(t=>String(t)).join("")}#u(){if(this!==this.#e)throw new Error("should only call on root");if(this.#c)return this;this.toString(),this.#c=!0;let t;for(;t=this.#a.pop();){if(t.type!=="!")continue;let s=t,r=s.#r;for(;r;){for(let i=s.#A+1;!r.type&&itypeof s=="string"?s:s.toJSON()):[this.type,...this.#s.map(s=>s.toJSON())];return this.isStart()&&!this.type&&t.unshift([]),this.isEnd()&&(this===this.#e||this.#e.#c&&this.#r?.type==="!")&&t.push({}),t}isStart(){if(this.#e===this)return!0;if(!this.#r?.isStart())return!1;if(this.#A===0)return!0;let t=this.#r;for(let s=0;stypeof p!="string"),c=this.#s.map(p=>{let[g,h,E,f]=typeof p=="string"?He.#C(p,this.#t,A):p.toRegExpSource(t);return this.#t=this.#t||E,this.#i=this.#i||f,g}).join(""),u="";if(this.isStart()&&typeof this.#s[0]=="string"&&!(this.#s.length===1&&fL.has(this.#s[0]))){let p=mL,g=s&&p.has(c.charAt(0))||c.startsWith("\\.")&&p.has(c.charAt(2))||c.startsWith("\\.\\.")&&p.has(c.charAt(4)),h=!s&&!t&&p.has(c.charAt(0));u=g?EL:h?Fa:""}let l="";return this.isEnd()&&this.#e.#c&&this.#r?.type==="!"&&(l="(?:$|\\/)"),[u+c+l,Xr(c),this.#t=!!this.#t,this.#i]}let r=this.type==="*"||this.type==="+",i=this.type==="!"?"(?:(?!(?:":"(?:",o=this.#d(s);if(this.isStart()&&this.isEnd()&&!o&&this.type!=="!"){let A=this.toString();return this.#s=[A],this.type=null,this.#t=void 0,[A,Xr(this.toString()),!1,!1]}let n=!r||t||s||!Fa?"":this.#d(!0);n===o&&(n=""),n&&(o=`(?:${o})(?:${n})*?`);let a="";if(this.type==="!"&&this.#h)a=(this.isStart()&&!s?Fa:"")+hI;else{let A=this.type==="!"?"))"+(this.isStart()&&!s&&!t?Fa:"")+gI+")":this.type==="@"?")":this.type==="?"?")?":this.type==="+"&&n?")":this.type==="*"&&n?")?":`)${this.type}`;a=i+o+A}return[a,Xr(o),this.#t=!!this.#t,this.#i]}#d(t){return this.#s.map(s=>{if(typeof s=="string")throw new Error("string type in extglob ast??");let[r,i,o,n]=s.toRegExpSource(t);return this.#i=this.#i||n,r}).filter(s=>!(this.isStart()&&this.isEnd())||!!s).join("|")}static#C(t,s,r=!1){let i=!1,o="",n=!1,a=!1;for(let A=0;As?t?e.replace(/[?*()[\]{}]/g,"[$&]"):e.replace(/[?*()[\]\\{}]/g,"\\$&"):t?e.replace(/[?*()[\]]/g,"[$&]"):e.replace(/[?*()[\]\\]/g,"\\$&"),ye=(e,t,s={})=>(Ja(t),!s.nocomment&&t.charAt(0)==="#"?!1:new fs(t,s).match(e)),CL=/^\*+([^+@!?\*\[\(]*)$/,IL=e=>t=>!t.startsWith(".")&&t.endsWith(e),wL=e=>t=>t.endsWith(e),bL=e=>(e=e.toLowerCase(),t=>!t.startsWith(".")&&t.toLowerCase().endsWith(e)),yL=e=>(e=e.toLowerCase(),t=>t.toLowerCase().endsWith(e)),xL=/^\*+\.\*+$/,vL=e=>!e.startsWith(".")&&e.includes("."),kL=e=>e!=="."&&e!==".."&&e.includes("."),DL=/^\.\*+$/,RL=e=>e!=="."&&e!==".."&&e.startsWith("."),TL=/^\*+$/,FL=e=>e.length!==0&&!e.startsWith("."),SL=e=>e.length!==0&&e!=="."&&e!=="..",UL=/^\?+([^+@!?\*\[\(]*)?$/,NL=([e,t=""])=>{let s=OI([e]);return t?(t=t.toLowerCase(),r=>s(r)&&r.toLowerCase().endsWith(t)):s},GL=([e,t=""])=>{let s=JI([e]);return t?(t=t.toLowerCase(),r=>s(r)&&r.toLowerCase().endsWith(t)):s},ML=([e,t=""])=>{let s=JI([e]);return t?r=>s(r)&&r.endsWith(t):s},LL=([e,t=""])=>{let s=OI([e]);return t?r=>s(r)&&r.endsWith(t):s},OI=([e])=>{let t=e.length;return s=>s.length===t&&!s.startsWith(".")},JI=([e])=>{let t=e.length;return s=>s.length===t&&s!=="."&&s!==".."},PI=typeof process=="object"&&process?typeof process.env=="object"&&process.env&&process.env.__MINIMATCH_TESTING_PLATFORM__||process.platform:"posix",dI={win32:{sep:"\\"},posix:{sep:"/"}},_L=PI==="win32"?dI.win32.sep:dI.posix.sep;ye.sep=_L;var be=Symbol("globstar **");ye.GLOBSTAR=be;var YL="[^/]",OL=YL+"*?",JL="(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?",PL="(?:(?!(?:\\/|^)\\.).)*?",HL=(e,t={})=>s=>ye(s,e,t);ye.filter=HL;var $e=(e,t={})=>Object.assign({},e,t),VL=e=>{if(!e||typeof e!="object"||!Object.keys(e).length)return ye;let t=ye;return Object.assign((s,r,i={})=>t(s,r,$e(e,i)),{Minimatch:class extends t.Minimatch{constructor(s,r={}){super(s,$e(e,r))}static defaults(s){return t.defaults($e(e,s)).Minimatch}},AST:class extends t.AST{constructor(s,r,i={}){super(s,r,$e(e,i))}static fromGlob(s,r={}){return t.AST.fromGlob(s,$e(e,r))}},unescape:(s,r={})=>t.unescape(s,$e(e,r)),escape:(s,r={})=>t.escape(s,$e(e,r)),filter:(s,r={})=>t.filter(s,$e(e,r)),defaults:s=>t.defaults($e(e,s)),makeRe:(s,r={})=>t.makeRe(s,$e(e,r)),braceExpand:(s,r={})=>t.braceExpand(s,$e(e,r)),match:(s,r,i={})=>t.match(s,r,$e(e,i)),sep:t.sep,GLOBSTAR:be})};ye.defaults=VL;var HI=(e,t={})=>(Ja(e),t.nobrace||!/\{(?:(?!\{).)*\}/.test(e)?[e]:aL(e,{max:t.braceExpandMax}));ye.braceExpand=HI;var qL=(e,t={})=>new fs(e,t).makeRe();ye.makeRe=qL;var WL=(e,t,s={})=>{let r=new fs(t,s);return e=e.filter(i=>r.match(i)),r.options.nonull&&!e.length&&e.push(t),e};ye.match=WL;var EI=/[?*]|[+@!]\(.*?\)|\[|\]/,jL=e=>e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),fs=class{options;set;pattern;windowsPathsNoEscape;nonegate;negate;comment;empty;preserveMultipleSlashes;partial;globSet;globParts;nocase;isWindows;platform;windowsNoMagicRoot;regexp;constructor(e,t={}){Ja(e),t=t||{},this.options=t,this.pattern=e,this.platform=t.platform||PI,this.isWindows=this.platform==="win32";let s="allowWindowsEscape";this.windowsPathsNoEscape=!!t.windowsPathsNoEscape||t[s]===!1,this.windowsPathsNoEscape&&(this.pattern=this.pattern.replace(/\\/g,"/")),this.preserveMultipleSlashes=!!t.preserveMultipleSlashes,this.regexp=null,this.negate=!1,this.nonegate=!!t.nonegate,this.comment=!1,this.empty=!1,this.partial=!!t.partial,this.nocase=!!this.options.nocase,this.windowsNoMagicRoot=t.windowsNoMagicRoot!==void 0?t.windowsNoMagicRoot:!!(this.isWindows&&this.nocase),this.globSet=[],this.globParts=[],this.set=[],this.make()}hasMagic(){if(this.options.magicalBraces&&this.set.length>1)return!0;for(let e of this.set)for(let t of e)if(typeof t!="string")return!0;return!1}debug(...e){}make(){let e=this.pattern,t=this.options;if(!t.nocomment&&e.charAt(0)==="#"){this.comment=!0;return}if(!e){this.empty=!0;return}this.parseNegate(),this.globSet=[...new Set(this.braceExpand())],t.debug&&(this.debug=(...i)=>console.error(...i)),this.debug(this.pattern,this.globSet);let s=this.globSet.map(i=>this.slashSplit(i));this.globParts=this.preprocess(s),this.debug(this.pattern,this.globParts);let r=this.globParts.map((i,o,n)=>{if(this.isWindows&&this.windowsNoMagicRoot){let a=i[0]===""&&i[1]===""&&(i[2]==="?"||!EI.test(i[2]))&&!EI.test(i[3]),A=/^[a-z]:/i.test(i[0]);if(a)return[...i.slice(0,4),...i.slice(4).map(c=>this.parse(c))];if(A)return[i[0],...i.slice(1).map(c=>this.parse(c))]}return i.map(a=>this.parse(a))});if(this.debug(this.pattern,r),this.set=r.filter(i=>i.indexOf(!1)===-1),this.isWindows)for(let i=0;i=2?(e=this.firstPhasePreProcess(e),e=this.secondPhasePreProcess(e)):t>=1?e=this.levelOneOptimize(e):e=this.adjascentGlobstarOptimize(e),e}adjascentGlobstarOptimize(e){return e.map(t=>{let s=-1;for(;(s=t.indexOf("**",s+1))!==-1;){let r=s;for(;t[r+1]==="**";)r++;r!==s&&t.splice(s,r-s)}return t})}levelOneOptimize(e){return e.map(t=>(t=t.reduce((s,r)=>{let i=s[s.length-1];return r==="**"&&i==="**"?s:r===".."&&i&&i!==".."&&i!=="."&&i!=="**"?(s.pop(),s):(s.push(r),s)},[]),t.length===0?[""]:t))}levelTwoFileOptimize(e){Array.isArray(e)||(e=this.slashSplit(e));let t=!1;do{if(t=!1,!this.preserveMultipleSlashes){for(let r=1;rr&&s.splice(r+1,o-r);let n=s[r+1],a=s[r+2],A=s[r+3];if(n!==".."||!a||a==="."||a===".."||!A||A==="."||A==="..")continue;t=!0,s.splice(r,1);let c=s.slice(0);c[r]="**",e.push(c),r--}if(!this.preserveMultipleSlashes){for(let o=1;ot.length)}partsMatch(e,t,s=!1){let r=0,i=0,o=[],n="";for(;rm?t=t.slice(C):m>C&&(e=e.slice(m)))}}let{optimizationLevel:i=1}=this.options;i>=2&&(e=this.levelTwoFileOptimize(e)),this.debug("matchOne",this,{file:e,pattern:t}),this.debug("matchOne",e.length,t.length);for(var o=0,n=0,a=e.length,A=t.length;o>> no match, partial?`,e,l,t,p),l===a))}let h;if(typeof c=="string"?(h=u===c,this.debug("string match",c,u,h)):(h=c.test(u),this.debug("pattern match",c,u,h)),!h)return!1}if(o===a&&n===A)return!0;if(o===a)return s;if(n===A)return o===a-1&&e[o]==="";throw new Error("wtf?")}braceExpand(){return HI(this.pattern,this.options)}parse(e){Ja(e);let t=this.options;if(e==="**")return be;if(e==="")return"";let s,r=null;(s=e.match(TL))?r=t.dot?SL:FL:(s=e.match(CL))?r=(t.nocase?t.dot?yL:bL:t.dot?wL:IL)(s[1]):(s=e.match(UL))?r=(t.nocase?t.dot?GL:NL:t.dot?ML:LL)(s):(s=e.match(xL))?r=t.dot?kL:vL:(s=e.match(DL))&&(r=RL);let i=_I.fromGlob(e,this.options).toMMPattern();return r&&typeof i=="object"&&Reflect.defineProperty(i,"test",{value:r}),i}makeRe(){if(this.regexp||this.regexp===!1)return this.regexp;let e=this.set;if(!e.length)return this.regexp=!1,this.regexp;let t=this.options,s=t.noglobstar?OL:t.dot?JL:PL,r=new Set(t.nocase?["i"]:[]),i=e.map(a=>{let A=a.map(u=>{if(u instanceof RegExp)for(let l of u.flags.split(""))r.add(l);return typeof u=="string"?jL(u):u===be?be:u._src});A.forEach((u,l)=>{let p=A[l+1],g=A[l-1];u!==be||g===be||(g===void 0?p!==void 0&&p!==be?A[l+1]="(?:\\/|"+s+"\\/)?"+p:A[l]=s:p===void 0?A[l-1]=g+"(?:\\/|\\/"+s+")?":p!==be&&(A[l-1]=g+"(?:\\/|\\/"+s+"\\/)"+p,A[l+1]=be))});let c=A.filter(u=>u!==be);if(this.partial&&c.length>=1){let u=[];for(let l=1;l<=c.length;l++)u.push(c.slice(0,l).join("/"));return"(?:"+u.join("|")+")"}return c.join("/")}).join("|"),[o,n]=e.length>1?["(?:",")"]:["",""];i="^"+o+i+n+"$",this.partial&&(i="^(?:\\/|"+o+i.slice(1,-1)+n+")$"),this.negate&&(i="^(?!"+i+").+$");try{this.regexp=new RegExp(i,[...r].join(""))}catch{this.regexp=!1}return this.regexp}slashSplit(e){return this.preserveMultipleSlashes?e.split("/"):this.isWindows&&/^\/\/[^\/]+/.test(e)?["",...e.split(/\/+/)]:e.split(/\/+/)}match(e,t=this.partial){if(this.debug("match",e,this.pattern),this.comment)return!1;if(this.empty)return e==="";if(e==="/"&&t)return!0;let s=this.options;this.isWindows&&(e=e.split("\\").join("/"));let r=this.slashSplit(e);this.debug(this.pattern,"split",r);let i=this.set;this.debug(this.pattern,"set",i);let o=r[r.length-1];if(!o)for(let n=r.length-2;!o&&n>=0;n--)o=r[n];for(let n=0;n{typeof tp.emitWarning=="function"?tp.emitWarning(e,t,s,r):console.error(`[${s}] ${t}: ${e}`)},Pa=globalThis.AbortController,mI=globalThis.AbortSignal;if(typeof Pa>"u"){mI=class{onabort;_onabort=[];reason;aborted=!1;addEventListener(s,r){this._onabort.push(r)}},Pa=class{constructor(){t()}signal=new mI;abort(s){if(!this.signal.aborted){this.signal.reason=s,this.signal.aborted=!0;for(let r of this.signal._onabort)r(s);this.signal.onabort?.(s)}}};let e=tp.env?.LRU_CACHE_IGNORE_AC_WARNING!=="1",t=()=>{e&&(e=!1,WI("AbortController is not defined. If using lru-cache in node 14, load an AbortController polyfill from the `node-abort-controller` package. A minimal polyfill is provided for use by LRUCache.fetch(), but it should not be relied upon in other contexts (eg, passing it to other APIs that use AbortController/AbortSignal might have undesirable effects). You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.","NO_ABORT_CONTROLLER","ENOTSUP",t))}}var ZL=e=>!qI.has(e),ms=e=>e&&e===Math.floor(e)&&e>0&&isFinite(e),jI=e=>ms(e)?e<=Math.pow(2,8)?Uint8Array:e<=Math.pow(2,16)?Uint16Array:e<=Math.pow(2,32)?Uint32Array:e<=Number.MAX_SAFE_INTEGER?Ya:null:null,Ya=class extends Array{constructor(e){super(e),this.fill(0)}},KL=class po{heap;length;static#e=!1;static create(t){let s=jI(t);if(!s)return[];po.#e=!0;let r=new po(t,s);return po.#e=!1,r}constructor(t,s){if(!po.#e)throw new TypeError("instantiate Stack using Stack.create(n)");this.heap=new s(t),this.length=0}push(t){this.heap[this.length++]=t}pop(){return this.heap[--this.length]}},Va=class zI{#e;#t;#i;#s;#r;#A;#a;#c;get perf(){return this.#c}ttl;ttlResolution;ttlAutopurge;updateAgeOnGet;updateAgeOnHas;allowStale;noDisposeOnSet;noUpdateTTL;maxEntrySize;sizeCalculation;noDeleteOnFetchRejection;noDeleteOnStaleGet;allowStaleOnFetchAbort;allowStaleOnFetchRejection;ignoreFetchAbort;#l;#g;#h;#u;#n;#d;#C;#B;#E;#k;#m;#b;#y;#f;#Q;#I;#x;#o;#U;static unsafeExposeInternals(t){return{starts:t.#y,ttls:t.#f,autopurgeTimers:t.#Q,sizes:t.#b,keyMap:t.#h,keyList:t.#u,valList:t.#n,next:t.#d,prev:t.#C,get head(){return t.#B},get tail(){return t.#E},free:t.#k,isBackgroundFetch:s=>t.#p(s),backgroundFetch:(s,r,i,o)=>t.#J(s,r,i,o),moveToTail:s=>t.#G(s),indexes:s=>t.#R(s),rindexes:s=>t.#T(s),isStale:s=>t.#w(s)}}get max(){return this.#e}get maxSize(){return this.#t}get calculatedSize(){return this.#g}get size(){return this.#l}get fetchMethod(){return this.#A}get memoMethod(){return this.#a}get dispose(){return this.#i}get onInsert(){return this.#s}get disposeAfter(){return this.#r}constructor(t){let{max:s=0,ttl:r,ttlResolution:i=1,ttlAutopurge:o,updateAgeOnGet:n,updateAgeOnHas:a,allowStale:A,dispose:c,onInsert:u,disposeAfter:l,noDisposeOnSet:p,noUpdateTTL:g,maxSize:h=0,maxEntrySize:E=0,sizeCalculation:f,fetchMethod:d,memoMethod:m,noDeleteOnFetchRejection:C,noDeleteOnStaleGet:B,allowStaleOnFetchRejection:b,allowStaleOnFetchAbort:S,ignoreFetchAbort:G,perf:pe}=t;if(pe!==void 0&&typeof pe?.now!="function")throw new TypeError("perf option must have a now() method if specified");if(this.#c=pe??zL,s!==0&&!ms(s))throw new TypeError("max option must be a nonnegative integer");let he=s?jI(s):Array;if(!he)throw new Error("invalid max value: "+s);if(this.#e=s,this.#t=h,this.maxEntrySize=E||this.#t,this.sizeCalculation=f,this.sizeCalculation){if(!this.#t&&!this.maxEntrySize)throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");if(typeof this.sizeCalculation!="function")throw new TypeError("sizeCalculation set to non-function")}if(m!==void 0&&typeof m!="function")throw new TypeError("memoMethod must be a function if defined");if(this.#a=m,d!==void 0&&typeof d!="function")throw new TypeError("fetchMethod must be a function if specified");if(this.#A=d,this.#x=!!d,this.#h=new Map,this.#u=new Array(s).fill(void 0),this.#n=new Array(s).fill(void 0),this.#d=new he(s),this.#C=new he(s),this.#B=0,this.#E=0,this.#k=KL.create(s),this.#l=0,this.#g=0,typeof c=="function"&&(this.#i=c),typeof u=="function"&&(this.#s=u),typeof l=="function"?(this.#r=l,this.#m=[]):(this.#r=void 0,this.#m=void 0),this.#I=!!this.#i,this.#U=!!this.#s,this.#o=!!this.#r,this.noDisposeOnSet=!!p,this.noUpdateTTL=!!g,this.noDeleteOnFetchRejection=!!C,this.allowStaleOnFetchRejection=!!b,this.allowStaleOnFetchAbort=!!S,this.ignoreFetchAbort=!!G,this.maxEntrySize!==0){if(this.#t!==0&&!ms(this.#t))throw new TypeError("maxSize must be a positive integer if specified");if(!ms(this.maxEntrySize))throw new TypeError("maxEntrySize must be a positive integer if specified");this.#H()}if(this.allowStale=!!A,this.noDeleteOnStaleGet=!!B,this.updateAgeOnGet=!!n,this.updateAgeOnHas=!!a,this.ttlResolution=ms(i)||i===0?i:1,this.ttlAutopurge=!!o,this.ttl=r||0,this.ttl){if(!ms(this.ttl))throw new TypeError("ttl must be a positive integer if specified");this.#F()}if(this.#e===0&&this.ttl===0&&this.#t===0)throw new TypeError("At least one of max, maxSize, or ttl is required");if(!this.ttlAutopurge&&!this.#e&&!this.#t){let ht="LRU_CACHE_UNBOUNDED";ZL(ht)&&(qI.add(ht),WI("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.","UnboundedCacheWarning",ht,zI))}}getRemainingTTL(t){return this.#h.has(t)?1/0:0}#F(){let t=new Ya(this.#e),s=new Ya(this.#e);this.#f=t,this.#y=s;let r=this.ttlAutopurge?new Array(this.#e):void 0;this.#Q=r,this.#L=(n,a,A=this.#c.now())=>{if(s[n]=a!==0?A:0,t[n]=a,r?.[n]&&(clearTimeout(r[n]),r[n]=void 0),a!==0&&r){let c=setTimeout(()=>{this.#w(n)&&this.#D(this.#u[n],"expire")},a+1);c.unref&&c.unref(),r[n]=c}},this.#v=n=>{s[n]=t[n]!==0?this.#c.now():0},this.#S=(n,a)=>{if(t[a]){let A=t[a],c=s[a];if(!A||!c)return;n.ttl=A,n.start=c,n.now=i||o();let u=n.now-c;n.remainingTTL=A-u}};let i=0,o=()=>{let n=this.#c.now();if(this.ttlResolution>0){i=n;let a=setTimeout(()=>i=0,this.ttlResolution);a.unref&&a.unref()}return n};this.getRemainingTTL=n=>{let a=this.#h.get(n);if(a===void 0)return 0;let A=t[a],c=s[a];if(!A||!c)return 1/0;let u=(i||o())-c;return A-u},this.#w=n=>{let a=s[n],A=t[n];return!!A&&!!a&&(i||o())-a>A}}#v=()=>{};#S=()=>{};#L=()=>{};#w=()=>!1;#H(){let t=new Ya(this.#e);this.#g=0,this.#b=t,this.#M=s=>{this.#g-=t[s],t[s]=0},this.#_=(s,r,i,o)=>{if(this.#p(r))return 0;if(!ms(i))if(o){if(typeof o!="function")throw new TypeError("sizeCalculation must be a function");if(i=o(r,s),!ms(i))throw new TypeError("sizeCalculation return invalid (expect positive integer)")}else throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");return i},this.#N=(s,r,i)=>{if(t[s]=r,this.#t){let o=this.#t-t[s];for(;this.#g>o;)this.#O(!0)}this.#g+=t[s],i&&(i.entrySize=r,i.totalCalculatedSize=this.#g)}}#M=t=>{};#N=(t,s,r)=>{};#_=(t,s,r,i)=>{if(r||i)throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");return 0};*#R({allowStale:t=this.allowStale}={}){if(this.#l)for(let s=this.#E;!(!this.#Y(s)||((t||!this.#w(s))&&(yield s),s===this.#B));)s=this.#C[s]}*#T({allowStale:t=this.allowStale}={}){if(this.#l)for(let s=this.#B;!(!this.#Y(s)||((t||!this.#w(s))&&(yield s),s===this.#E));)s=this.#d[s]}#Y(t){return t!==void 0&&this.#h.get(this.#u[t])===t}*entries(){for(let t of this.#R())this.#n[t]!==void 0&&this.#u[t]!==void 0&&!this.#p(this.#n[t])&&(yield[this.#u[t],this.#n[t]])}*rentries(){for(let t of this.#T())this.#n[t]!==void 0&&this.#u[t]!==void 0&&!this.#p(this.#n[t])&&(yield[this.#u[t],this.#n[t]])}*keys(){for(let t of this.#R()){let s=this.#u[t];s!==void 0&&!this.#p(this.#n[t])&&(yield s)}}*rkeys(){for(let t of this.#T()){let s=this.#u[t];s!==void 0&&!this.#p(this.#n[t])&&(yield s)}}*values(){for(let t of this.#R())this.#n[t]!==void 0&&!this.#p(this.#n[t])&&(yield this.#n[t])}*rvalues(){for(let t of this.#T())this.#n[t]!==void 0&&!this.#p(this.#n[t])&&(yield this.#n[t])}[Symbol.iterator](){return this.entries()}[Symbol.toStringTag]="LRUCache";find(t,s={}){for(let r of this.#R()){let i=this.#n[r],o=this.#p(i)?i.__staleWhileFetching:i;if(o!==void 0&&t(o,this.#u[r],this))return this.get(this.#u[r],s)}}forEach(t,s=this){for(let r of this.#R()){let i=this.#n[r],o=this.#p(i)?i.__staleWhileFetching:i;o!==void 0&&t.call(s,o,this.#u[r],this)}}rforEach(t,s=this){for(let r of this.#T()){let i=this.#n[r],o=this.#p(i)?i.__staleWhileFetching:i;o!==void 0&&t.call(s,o,this.#u[r],this)}}purgeStale(){let t=!1;for(let s of this.#T({allowStale:!0}))this.#w(s)&&(this.#D(this.#u[s],"expire"),t=!0);return t}info(t){let s=this.#h.get(t);if(s===void 0)return;let r=this.#n[s],i=this.#p(r)?r.__staleWhileFetching:r;if(i===void 0)return;let o={value:i};if(this.#f&&this.#y){let n=this.#f[s],a=this.#y[s];if(n&&a){let A=n-(this.#c.now()-a);o.ttl=A,o.start=Date.now()}}return this.#b&&(o.size=this.#b[s]),o}dump(){let t=[];for(let s of this.#R({allowStale:!0})){let r=this.#u[s],i=this.#n[s],o=this.#p(i)?i.__staleWhileFetching:i;if(o===void 0||r===void 0)continue;let n={value:o};if(this.#f&&this.#y){n.ttl=this.#f[s];let a=this.#c.now()-this.#y[s];n.start=Math.floor(Date.now()-a)}this.#b&&(n.size=this.#b[s]),t.unshift([r,n])}return t}load(t){this.clear();for(let[s,r]of t){if(r.start){let i=Date.now()-r.start;r.start=this.#c.now()-i}this.set(s,r.value,r)}}set(t,s,r={}){if(s===void 0)return this.delete(t),this;let{ttl:i=this.ttl,start:o,noDisposeOnSet:n=this.noDisposeOnSet,sizeCalculation:a=this.sizeCalculation,status:A}=r,{noUpdateTTL:c=this.noUpdateTTL}=r,u=this.#_(t,s,r.size||0,a);if(this.maxEntrySize&&u>this.maxEntrySize)return A&&(A.set="miss",A.maxEntrySizeExceeded=!0),this.#D(t,"set"),this;let l=this.#l===0?void 0:this.#h.get(t);if(l===void 0)l=this.#l===0?this.#E:this.#k.length!==0?this.#k.pop():this.#l===this.#e?this.#O(!1):this.#l,this.#u[l]=t,this.#n[l]=s,this.#h.set(t,l),this.#d[this.#E]=l,this.#C[l]=this.#E,this.#E=l,this.#l++,this.#N(l,u,A),A&&(A.set="add"),c=!1,this.#U&&this.#s?.(s,t,"add");else{this.#G(l);let p=this.#n[l];if(s!==p){if(this.#x&&this.#p(p)){p.__abortController.abort(new Error("replaced"));let{__staleWhileFetching:g}=p;g!==void 0&&!n&&(this.#I&&this.#i?.(g,t,"set"),this.#o&&this.#m?.push([g,t,"set"]))}else n||(this.#I&&this.#i?.(p,t,"set"),this.#o&&this.#m?.push([p,t,"set"]));if(this.#M(l),this.#N(l,u,A),this.#n[l]=s,A){A.set="replace";let g=p&&this.#p(p)?p.__staleWhileFetching:p;g!==void 0&&(A.oldValue=g)}}else A&&(A.set="update");this.#U&&this.onInsert?.(s,t,s===p?"update":"replace")}if(i!==0&&!this.#f&&this.#F(),this.#f&&(c||this.#L(l,i,o),A&&this.#S(A,l)),!n&&this.#o&&this.#m){let p=this.#m,g;for(;g=p?.shift();)this.#r?.(...g)}return this}pop(){try{for(;this.#l;){let t=this.#n[this.#B];if(this.#O(!0),this.#p(t)){if(t.__staleWhileFetching)return t.__staleWhileFetching}else if(t!==void 0)return t}}finally{if(this.#o&&this.#m){let t=this.#m,s;for(;s=t?.shift();)this.#r?.(...s)}}}#O(t){let s=this.#B,r=this.#u[s],i=this.#n[s];return this.#x&&this.#p(i)?i.__abortController.abort(new Error("evicted")):(this.#I||this.#o)&&(this.#I&&this.#i?.(i,r,"evict"),this.#o&&this.#m?.push([i,r,"evict"])),this.#M(s),this.#Q?.[s]&&(clearTimeout(this.#Q[s]),this.#Q[s]=void 0),t&&(this.#u[s]=void 0,this.#n[s]=void 0,this.#k.push(s)),this.#l===1?(this.#B=this.#E=0,this.#k.length=0):this.#B=this.#d[s],this.#h.delete(r),this.#l--,s}has(t,s={}){let{updateAgeOnHas:r=this.updateAgeOnHas,status:i}=s,o=this.#h.get(t);if(o!==void 0){let n=this.#n[o];if(this.#p(n)&&n.__staleWhileFetching===void 0)return!1;if(this.#w(o))i&&(i.has="stale",this.#S(i,o));else return r&&this.#v(o),i&&(i.has="hit",this.#S(i,o)),!0}else i&&(i.has="miss");return!1}peek(t,s={}){let{allowStale:r=this.allowStale}=s,i=this.#h.get(t);if(i===void 0||!r&&this.#w(i))return;let o=this.#n[i];return this.#p(o)?o.__staleWhileFetching:o}#J(t,s,r,i){let o=s===void 0?void 0:this.#n[s];if(this.#p(o))return o;let n=new Pa,{signal:a}=r;a?.addEventListener("abort",()=>n.abort(a.reason),{signal:n.signal});let A={signal:n.signal,options:r,context:i},c=(E,f=!1)=>{let{aborted:d}=n.signal,m=r.ignoreFetchAbort&&E!==void 0,C=r.ignoreFetchAbort||!!(r.allowStaleOnFetchAbort&&E!==void 0);if(r.status&&(d&&!f?(r.status.fetchAborted=!0,r.status.fetchError=n.signal.reason,m&&(r.status.fetchAbortIgnored=!0)):r.status.fetchResolved=!0),d&&!m&&!f)return l(n.signal.reason,C);let B=g,b=this.#n[s];return(b===g||m&&f&&b===void 0)&&(E===void 0?B.__staleWhileFetching!==void 0?this.#n[s]=B.__staleWhileFetching:this.#D(t,"fetch"):(r.status&&(r.status.fetchUpdated=!0),this.set(t,E,A.options))),E},u=E=>(r.status&&(r.status.fetchRejected=!0,r.status.fetchError=E),l(E,!1)),l=(E,f)=>{let{aborted:d}=n.signal,m=d&&r.allowStaleOnFetchAbort,C=m||r.allowStaleOnFetchRejection,B=C||r.noDeleteOnFetchRejection,b=g;if(this.#n[s]===g&&(!B||!f&&b.__staleWhileFetching===void 0?this.#D(t,"fetch"):m||(this.#n[s]=b.__staleWhileFetching)),C)return r.status&&b.__staleWhileFetching!==void 0&&(r.status.returnedStale=!0),b.__staleWhileFetching;if(b.__returned===b)throw E},p=(E,f)=>{let d=this.#A?.(t,o,A);d&&d instanceof Promise&&d.then(m=>E(m===void 0?void 0:m),f),n.signal.addEventListener("abort",()=>{(!r.ignoreFetchAbort||r.allowStaleOnFetchAbort)&&(E(void 0),r.allowStaleOnFetchAbort&&(E=m=>c(m,!0)))})};r.status&&(r.status.fetchDispatched=!0);let g=new Promise(p).then(c,u),h=Object.assign(g,{__abortController:n,__staleWhileFetching:o,__returned:void 0});return s===void 0?(this.set(t,h,{...A.options,status:void 0}),s=this.#h.get(t)):this.#n[s]=h,h}#p(t){if(!this.#x)return!1;let s=t;return!!s&&s instanceof Promise&&s.hasOwnProperty("__staleWhileFetching")&&s.__abortController instanceof Pa}async fetch(t,s={}){let{allowStale:r=this.allowStale,updateAgeOnGet:i=this.updateAgeOnGet,noDeleteOnStaleGet:o=this.noDeleteOnStaleGet,ttl:n=this.ttl,noDisposeOnSet:a=this.noDisposeOnSet,size:A=0,sizeCalculation:c=this.sizeCalculation,noUpdateTTL:u=this.noUpdateTTL,noDeleteOnFetchRejection:l=this.noDeleteOnFetchRejection,allowStaleOnFetchRejection:p=this.allowStaleOnFetchRejection,ignoreFetchAbort:g=this.ignoreFetchAbort,allowStaleOnFetchAbort:h=this.allowStaleOnFetchAbort,context:E,forceRefresh:f=!1,status:d,signal:m}=s;if(!this.#x)return d&&(d.fetch="get"),this.get(t,{allowStale:r,updateAgeOnGet:i,noDeleteOnStaleGet:o,status:d});let C={allowStale:r,updateAgeOnGet:i,noDeleteOnStaleGet:o,ttl:n,noDisposeOnSet:a,size:A,sizeCalculation:c,noUpdateTTL:u,noDeleteOnFetchRejection:l,allowStaleOnFetchRejection:p,allowStaleOnFetchAbort:h,ignoreFetchAbort:g,status:d,signal:m},B=this.#h.get(t);if(B===void 0){d&&(d.fetch="miss");let b=this.#J(t,B,C,E);return b.__returned=b}else{let b=this.#n[B];if(this.#p(b)){let he=r&&b.__staleWhileFetching!==void 0;return d&&(d.fetch="inflight",he&&(d.returnedStale=!0)),he?b.__staleWhileFetching:b.__returned=b}let S=this.#w(B);if(!f&&!S)return d&&(d.fetch="hit"),this.#G(B),i&&this.#v(B),d&&this.#S(d,B),b;let G=this.#J(t,B,C,E),pe=G.__staleWhileFetching!==void 0&&r;return d&&(d.fetch=S?"stale":"refresh",pe&&S&&(d.returnedStale=!0)),pe?G.__staleWhileFetching:G.__returned=G}}async forceFetch(t,s={}){let r=await this.fetch(t,s);if(r===void 0)throw new Error("fetch() returned undefined");return r}memo(t,s={}){let r=this.#a;if(!r)throw new Error("no memoMethod provided to constructor");let{context:i,forceRefresh:o,...n}=s,a=this.get(t,n);if(!o&&a!==void 0)return a;let A=r(t,a,{options:n,context:i});return this.set(t,A,n),A}get(t,s={}){let{allowStale:r=this.allowStale,updateAgeOnGet:i=this.updateAgeOnGet,noDeleteOnStaleGet:o=this.noDeleteOnStaleGet,status:n}=s,a=this.#h.get(t);if(a!==void 0){let A=this.#n[a],c=this.#p(A);return n&&this.#S(n,a),this.#w(a)?(n&&(n.get="stale"),c?(n&&r&&A.__staleWhileFetching!==void 0&&(n.returnedStale=!0),r?A.__staleWhileFetching:void 0):(o||this.#D(t,"expire"),n&&r&&(n.returnedStale=!0),r?A:void 0)):(n&&(n.get="hit"),c?A.__staleWhileFetching:(this.#G(a),i&&this.#v(a),A))}else n&&(n.get="miss")}#P(t,s){this.#C[s]=t,this.#d[t]=s}#G(t){t!==this.#E&&(t===this.#B?this.#B=this.#d[t]:this.#P(this.#C[t],this.#d[t]),this.#P(this.#E,t),this.#E=t)}delete(t){return this.#D(t,"delete")}#D(t,s){let r=!1;if(this.#l!==0){let i=this.#h.get(t);if(i!==void 0)if(this.#Q?.[i]&&(clearTimeout(this.#Q?.[i]),this.#Q[i]=void 0),r=!0,this.#l===1)this.#V(s);else{this.#M(i);let o=this.#n[i];if(this.#p(o)?o.__abortController.abort(new Error("deleted")):(this.#I||this.#o)&&(this.#I&&this.#i?.(o,t,s),this.#o&&this.#m?.push([o,t,s])),this.#h.delete(t),this.#u[i]=void 0,this.#n[i]=void 0,i===this.#E)this.#E=this.#C[i];else if(i===this.#B)this.#B=this.#d[i];else{let n=this.#C[i];this.#d[n]=this.#d[i];let a=this.#d[i];this.#C[a]=this.#C[i]}this.#l--,this.#k.push(i)}}if(this.#o&&this.#m?.length){let i=this.#m,o;for(;o=i?.shift();)this.#r?.(...o)}return r}clear(){return this.#V("delete")}#V(t){for(let s of this.#T({allowStale:!0})){let r=this.#n[s];if(this.#p(r))r.__abortController.abort(new Error("deleted"));else{let i=this.#u[s];this.#I&&this.#i?.(r,i,t),this.#o&&this.#m?.push([r,i,t])}}if(this.#h.clear(),this.#n.fill(void 0),this.#u.fill(void 0),this.#f&&this.#y){this.#f.fill(0),this.#y.fill(0);for(let s of this.#Q??[])s!==void 0&&clearTimeout(s);this.#Q?.fill(void 0)}if(this.#b&&this.#b.fill(0),this.#B=0,this.#E=0,this.#k.length=0,this.#g=0,this.#l=0,this.#o&&this.#m){let s=this.#m,r;for(;r=s?.shift();)this.#r?.(...r)}}},fI=typeof process=="object"&&process?process:{stdout:null,stderr:null},$L=e=>!!e&&typeof e=="object"&&(e instanceof Ha||e instanceof ip.default||e_(e)||t_(e)),e_=e=>!!e&&typeof e=="object"&&e instanceof qa.EventEmitter&&typeof e.pipe=="function"&&e.pipe!==ip.default.Writable.prototype.pipe,t_=e=>!!e&&typeof e=="object"&&e instanceof qa.EventEmitter&&typeof e.write=="function"&&typeof e.end=="function",Vt=Symbol("EOF"),qt=Symbol("maybeEmitEnd"),Es=Symbol("emittedEnd"),Sa=Symbol("emittingEnd"),no=Symbol("emittedError"),Ua=Symbol("closed"),QI=Symbol("read"),Na=Symbol("flush"),BI=Symbol("flushChunk"),pt=Symbol("encoding"),Zr=Symbol("decoder"),ce=Symbol("flowing"),ao=Symbol("paused"),Kr=Symbol("resume"),le=Symbol("buffer"),we=Symbol("pipes"),ue=Symbol("bufferLength"),ju=Symbol("bufferPush"),Ga=Symbol("bufferShift"),Qe=Symbol("objectMode"),se=Symbol("destroyed"),zu=Symbol("error"),Zu=Symbol("emitData"),CI=Symbol("emitEnd"),Ku=Symbol("emitEnd2"),vt=Symbol("async"),Xu=Symbol("abort"),Ma=Symbol("aborted"),Ao=Symbol("signal"),Ws=Symbol("dataListeners"),Pe=Symbol("discarded"),co=e=>Promise.resolve().then(e),s_=e=>e(),r_=e=>e==="end"||e==="finish"||e==="prefinish",i_=e=>e instanceof ArrayBuffer||!!e&&typeof e=="object"&&e.constructor&&e.constructor.name==="ArrayBuffer"&&e.byteLength>=0,o_=e=>!Buffer.isBuffer(e)&&ArrayBuffer.isView(e),XI=class{src;dest;opts;ondrain;constructor(e,t,s){this.src=e,this.dest=t,this.opts=s,this.ondrain=()=>e[Kr](),this.dest.on("drain",this.ondrain)}unpipe(){this.dest.removeListener("drain",this.ondrain)}proxyErrors(e){}end(){this.unpipe(),this.opts.end&&this.dest.end()}},n_=class extends XI{unpipe(){this.src.removeListener("error",this.proxyErrors),super.unpipe()}constructor(e,t,s){super(e,t,s),this.proxyErrors=r=>this.dest.emit("error",r),e.on("error",this.proxyErrors)}},a_=e=>!!e.objectMode,A_=e=>!e.objectMode&&!!e.encoding&&e.encoding!=="buffer",Ha=class extends qa.EventEmitter{[ce]=!1;[ao]=!1;[we]=[];[le]=[];[Qe];[pt];[vt];[Zr];[Vt]=!1;[Es]=!1;[Sa]=!1;[Ua]=!1;[no]=null;[ue]=0;[se]=!1;[Ao];[Ma]=!1;[Ws]=0;[Pe]=!1;writable=!0;readable=!0;constructor(...e){let t=e[0]||{};if(super(),t.objectMode&&typeof t.encoding=="string")throw new TypeError("Encoding and objectMode may not be used together");a_(t)?(this[Qe]=!0,this[pt]=null):A_(t)?(this[pt]=t.encoding,this[Qe]=!1):(this[Qe]=!1,this[pt]=null),this[vt]=!!t.async,this[Zr]=this[pt]?new KI.StringDecoder(this[pt]):null,t&&t.debugExposeBuffer===!0&&Object.defineProperty(this,"buffer",{get:()=>this[le]}),t&&t.debugExposePipes===!0&&Object.defineProperty(this,"pipes",{get:()=>this[we]});let{signal:s}=t;s&&(this[Ao]=s,s.aborted?this[Xu]():s.addEventListener("abort",()=>this[Xu]()))}get bufferLength(){return this[ue]}get encoding(){return this[pt]}set encoding(e){throw new Error("Encoding must be set at instantiation time")}setEncoding(e){throw new Error("Encoding must be set at instantiation time")}get objectMode(){return this[Qe]}set objectMode(e){throw new Error("objectMode must be set at instantiation time")}get async(){return this[vt]}set async(e){this[vt]=this[vt]||!!e}[Xu](){this[Ma]=!0,this.emit("abort",this[Ao]?.reason),this.destroy(this[Ao]?.reason)}get aborted(){return this[Ma]}set aborted(e){}write(e,t,s){if(this[Ma])return!1;if(this[Vt])throw new Error("write after end");if(this[se])return this.emit("error",Object.assign(new Error("Cannot call write after a stream was destroyed"),{code:"ERR_STREAM_DESTROYED"})),!0;typeof t=="function"&&(s=t,t="utf8"),t||(t="utf8");let r=this[vt]?co:s_;if(!this[Qe]&&!Buffer.isBuffer(e)){if(o_(e))e=Buffer.from(e.buffer,e.byteOffset,e.byteLength);else if(i_(e))e=Buffer.from(e);else if(typeof e!="string")throw new Error("Non-contiguous data written to non-objectMode stream")}return this[Qe]?(this[ce]&&this[ue]!==0&&this[Na](!0),this[ce]?this.emit("data",e):this[ju](e),this[ue]!==0&&this.emit("readable"),s&&r(s),this[ce]):e.length?(typeof e=="string"&&!(t===this[pt]&&!this[Zr]?.lastNeed)&&(e=Buffer.from(e,t)),Buffer.isBuffer(e)&&this[pt]&&(e=this[Zr].write(e)),this[ce]&&this[ue]!==0&&this[Na](!0),this[ce]?this.emit("data",e):this[ju](e),this[ue]!==0&&this.emit("readable"),s&&r(s),this[ce]):(this[ue]!==0&&this.emit("readable"),s&&r(s),this[ce])}read(e){if(this[se])return null;if(this[Pe]=!1,this[ue]===0||e===0||e&&e>this[ue])return this[qt](),null;this[Qe]&&(e=null),this[le].length>1&&!this[Qe]&&(this[le]=[this[pt]?this[le].join(""):Buffer.concat(this[le],this[ue])]);let t=this[QI](e||null,this[le][0]);return this[qt](),t}[QI](e,t){if(this[Qe])this[Ga]();else{let s=t;e===s.length||e===null?this[Ga]():typeof s=="string"?(this[le][0]=s.slice(e),t=s.slice(0,e),this[ue]-=e):(this[le][0]=s.subarray(e),t=s.subarray(0,e),this[ue]-=e)}return this.emit("data",t),!this[le].length&&!this[Vt]&&this.emit("drain"),t}end(e,t,s){return typeof e=="function"&&(s=e,e=void 0),typeof t=="function"&&(s=t,t="utf8"),e!==void 0&&this.write(e,t),s&&this.once("end",s),this[Vt]=!0,this.writable=!1,(this[ce]||!this[ao])&&this[qt](),this}[Kr](){this[se]||(!this[Ws]&&!this[we].length&&(this[Pe]=!0),this[ao]=!1,this[ce]=!0,this.emit("resume"),this[le].length?this[Na]():this[Vt]?this[qt]():this.emit("drain"))}resume(){return this[Kr]()}pause(){this[ce]=!1,this[ao]=!0,this[Pe]=!1}get destroyed(){return this[se]}get flowing(){return this[ce]}get paused(){return this[ao]}[ju](e){this[Qe]?this[ue]+=1:this[ue]+=e.length,this[le].push(e)}[Ga](){return this[Qe]?this[ue]-=1:this[ue]-=this[le][0].length,this[le].shift()}[Na](e=!1){do;while(this[BI](this[Ga]())&&this[le].length);!e&&!this[le].length&&!this[Vt]&&this.emit("drain")}[BI](e){return this.emit("data",e),this[ce]}pipe(e,t){if(this[se])return e;this[Pe]=!1;let s=this[Es];return t=t||{},e===fI.stdout||e===fI.stderr?t.end=!1:t.end=t.end!==!1,t.proxyErrors=!!t.proxyErrors,s?t.end&&e.end():(this[we].push(t.proxyErrors?new n_(this,e,t):new XI(this,e,t)),this[vt]?co(()=>this[Kr]()):this[Kr]()),e}unpipe(e){let t=this[we].find(s=>s.dest===e);t&&(this[we].length===1?(this[ce]&&this[Ws]===0&&(this[ce]=!1),this[we]=[]):this[we].splice(this[we].indexOf(t),1),t.unpipe())}addListener(e,t){return this.on(e,t)}on(e,t){let s=super.on(e,t);if(e==="data")this[Pe]=!1,this[Ws]++,!this[we].length&&!this[ce]&&this[Kr]();else if(e==="readable"&&this[ue]!==0)super.emit("readable");else if(r_(e)&&this[Es])super.emit(e),this.removeAllListeners(e);else if(e==="error"&&this[no]){let r=t;this[vt]?co(()=>r.call(this,this[no])):r.call(this,this[no])}return s}removeListener(e,t){return this.off(e,t)}off(e,t){let s=super.off(e,t);return e==="data"&&(this[Ws]=this.listeners("data").length,this[Ws]===0&&!this[Pe]&&!this[we].length&&(this[ce]=!1)),s}removeAllListeners(e){let t=super.removeAllListeners(e);return(e==="data"||e===void 0)&&(this[Ws]=0,!this[Pe]&&!this[we].length&&(this[ce]=!1)),t}get emittedEnd(){return this[Es]}[qt](){!this[Sa]&&!this[Es]&&!this[se]&&this[le].length===0&&this[Vt]&&(this[Sa]=!0,this.emit("end"),this.emit("prefinish"),this.emit("finish"),this[Ua]&&this.emit("close"),this[Sa]=!1)}emit(e,...t){let s=t[0];if(e!=="error"&&e!=="close"&&e!==se&&this[se])return!1;if(e==="data")return!this[Qe]&&!s?!1:this[vt]?(co(()=>this[Zu](s)),!0):this[Zu](s);if(e==="end")return this[CI]();if(e==="close"){if(this[Ua]=!0,!this[Es]&&!this[se])return!1;let i=super.emit("close");return this.removeAllListeners("close"),i}else if(e==="error"){this[no]=s,super.emit(zu,s);let i=!this[Ao]||this.listeners("error").length?super.emit("error",s):!1;return this[qt](),i}else if(e==="resume"){let i=super.emit("resume");return this[qt](),i}else if(e==="finish"||e==="prefinish"){let i=super.emit(e);return this.removeAllListeners(e),i}let r=super.emit(e,...t);return this[qt](),r}[Zu](e){for(let s of this[we])s.dest.write(e)===!1&&this.pause();let t=this[Pe]?!1:super.emit("data",e);return this[qt](),t}[CI](){return this[Es]?!1:(this[Es]=!0,this.readable=!1,this[vt]?(co(()=>this[Ku]()),!0):this[Ku]())}[Ku](){if(this[Zr]){let t=this[Zr].end();if(t){for(let s of this[we])s.dest.write(t);this[Pe]||super.emit("data",t)}}for(let t of this[we])t.end();let e=super.emit("end");return this.removeAllListeners("end"),e}async collect(){let e=Object.assign([],{dataLength:0});this[Qe]||(e.dataLength=0);let t=this.promise();return this.on("data",s=>{e.push(s),this[Qe]||(e.dataLength+=s.length)}),await t,e}async concat(){if(this[Qe])throw new Error("cannot concat in objectMode");let e=await this.collect();return this[pt]?e.join(""):Buffer.concat(e,e.dataLength)}async promise(){return new Promise((e,t)=>{this.on(se,()=>t(new Error("stream destroyed"))),this.on("error",s=>t(s)),this.on("end",()=>e())})}[Symbol.asyncIterator](){this[Pe]=!1;let e=!1,t=async()=>(this.pause(),e=!0,{value:void 0,done:!0});return{next:()=>{if(e)return t();let s=this.read();if(s!==null)return Promise.resolve({done:!1,value:s});if(this[Vt])return t();let r,i,o=c=>{this.off("data",n),this.off("end",a),this.off(se,A),t(),i(c)},n=c=>{this.off("error",o),this.off("end",a),this.off(se,A),this.pause(),r({value:c,done:!!this[Vt]})},a=()=>{this.off("error",o),this.off("data",n),this.off(se,A),t(),r({done:!0,value:void 0})},A=()=>o(new Error("stream destroyed"));return new Promise((c,u)=>{i=u,r=c,this.once(se,A),this.once("error",o),this.once("end",a),this.once("data",n)})},throw:t,return:t,[Symbol.asyncIterator](){return this},[Symbol.asyncDispose]:async()=>{}}}[Symbol.iterator](){this[Pe]=!1;let e=!1,t=()=>(this.pause(),this.off(zu,t),this.off(se,t),this.off("end",t),e=!0,{done:!0,value:void 0}),s=()=>{if(e)return t();let r=this.read();return r===null?t():{done:!1,value:r}};return this.once("end",t),this.once(zu,t),this.once(se,t),{next:s,throw:t,return:t,[Symbol.iterator](){return this},[Symbol.dispose]:()=>{}}}destroy(e){if(this[se])return e?this.emit("error",e):this.emit(se),this;this[se]=!0,this[Pe]=!0,this[le].length=0,this[ue]=0;let t=this;return typeof t.close=="function"&&!this[Ua]&&t.close(),e?this.emit("error",e):this.emit(se),this}static get isStream(){return $L}},c_=Dt.realpathSync.native,go={lstatSync:Dt.lstatSync,readdir:Dt.readdir,readdirSync:Dt.readdirSync,readlinkSync:Dt.readlinkSync,realpathSync:c_,promises:{lstat:Qs.lstat,readdir:Qs.readdir,readlink:Qs.readlink,realpath:Qs.realpath}},$I=e=>!e||e===go||e===XL?go:{...go,...e,promises:{...go.promises,...e.promises||{}}},ew=/^\\\\\?\\([a-z]:)\\?$/i,l_=e=>e.replace(/\//g,"\\").replace(ew,"$1\\"),u_=/[\\\/]/,tt=0,tw=1,sw=2,kt=4,rw=6,iw=8,js=10,ow=12,et=15,lo=~et,$u=16,II=32,ho=64,gt=128,La=256,Oa=512,wI=ho|gt|Oa,p_=1023,ep=e=>e.isFile()?iw:e.isDirectory()?kt:e.isSymbolicLink()?js:e.isCharacterDevice()?sw:e.isBlockDevice()?rw:e.isSocket()?ow:e.isFIFO()?tw:tt,bI=new Va({max:2**12}),Eo=e=>{let t=bI.get(e);if(t)return t;let s=e.normalize("NFKD");return bI.set(e,s),s},yI=new Va({max:2**12}),_a=e=>{let t=yI.get(e);if(t)return t;let s=Eo(e.toLowerCase());return yI.set(e,s),s},xI=class extends Va{constructor(){super({max:256})}},g_=class extends Va{constructor(e=16*1024){super({maxSize:e,sizeCalculation:t=>t.length+1})}},nw=Symbol("PathScurry setAsCwd"),Se=class{name;root;roots;parent;nocase;isCWD=!1;#e;#t;get dev(){return this.#t}#i;get mode(){return this.#i}#s;get nlink(){return this.#s}#r;get uid(){return this.#r}#A;get gid(){return this.#A}#a;get rdev(){return this.#a}#c;get blksize(){return this.#c}#l;get ino(){return this.#l}#g;get size(){return this.#g}#h;get blocks(){return this.#h}#u;get atimeMs(){return this.#u}#n;get mtimeMs(){return this.#n}#d;get ctimeMs(){return this.#d}#C;get birthtimeMs(){return this.#C}#B;get atime(){return this.#B}#E;get mtime(){return this.#E}#k;get ctime(){return this.#k}#m;get birthtime(){return this.#m}#b;#y;#f;#Q;#I;#x;#o;#U;#F;#v;get parentPath(){return(this.parent||this).fullpath()}get path(){return this.parentPath}constructor(e,t=tt,s,r,i,o,n){this.name=e,this.#b=i?_a(e):Eo(e),this.#o=t&p_,this.nocase=i,this.roots=r,this.root=s||this,this.#U=o,this.#f=n.fullpath,this.#I=n.relative,this.#x=n.relativePosix,this.parent=n.parent,this.parent?this.#e=this.parent.#e:this.#e=$I(n.fs)}depth(){return this.#y!==void 0?this.#y:this.parent?this.#y=this.parent.depth()+1:this.#y=0}childrenCache(){return this.#U}resolve(e){if(!e)return this;let t=this.getRootString(e),s=e.substring(t.length).split(this.splitSep);return t?this.getRoot(t).#S(s):this.#S(s)}#S(e){let t=this;for(let s of e)t=t.child(s);return t}children(){let e=this.#U.get(this);if(e)return e;let t=Object.assign([],{provisional:0});return this.#U.set(this,t),this.#o&=~$u,t}child(e,t){if(e===""||e===".")return this;if(e==="..")return this.parent||this;let s=this.children(),r=this.nocase?_a(e):Eo(e);for(let a of s)if(a.#b===r)return a;let i=this.parent?this.sep:"",o=this.#f?this.#f+i+e:void 0,n=this.newChild(e,tt,{...t,parent:this,fullpath:o});return this.canReaddir()||(n.#o|=gt),s.push(n),n}relative(){if(this.isCWD)return"";if(this.#I!==void 0)return this.#I;let e=this.name,t=this.parent;if(!t)return this.#I=this.name;let s=t.relative();return s+(!s||!t.parent?"":this.sep)+e}relativePosix(){if(this.sep==="/")return this.relative();if(this.isCWD)return"";if(this.#x!==void 0)return this.#x;let e=this.name,t=this.parent;if(!t)return this.#x=this.fullpathPosix();let s=t.relativePosix();return s+(!s||!t.parent?"":"/")+e}fullpath(){if(this.#f!==void 0)return this.#f;let e=this.name,t=this.parent;if(!t)return this.#f=this.name;let s=t.fullpath()+(t.parent?this.sep:"")+e;return this.#f=s}fullpathPosix(){if(this.#Q!==void 0)return this.#Q;if(this.sep==="/")return this.#Q=this.fullpath();if(!this.parent){let r=this.fullpath().replace(/\\/g,"/");return/^[a-z]:\//i.test(r)?this.#Q=`//?/${r}`:this.#Q=r}let e=this.parent,t=e.fullpathPosix(),s=t+(!t||!e.parent?"":"/")+this.name;return this.#Q=s}isUnknown(){return(this.#o&et)===tt}isType(e){return this[`is${e}`]()}getType(){return this.isUnknown()?"Unknown":this.isDirectory()?"Directory":this.isFile()?"File":this.isSymbolicLink()?"SymbolicLink":this.isFIFO()?"FIFO":this.isCharacterDevice()?"CharacterDevice":this.isBlockDevice()?"BlockDevice":this.isSocket()?"Socket":"Unknown"}isFile(){return(this.#o&et)===iw}isDirectory(){return(this.#o&et)===kt}isCharacterDevice(){return(this.#o&et)===sw}isBlockDevice(){return(this.#o&et)===rw}isFIFO(){return(this.#o&et)===tw}isSocket(){return(this.#o&et)===ow}isSymbolicLink(){return(this.#o&js)===js}lstatCached(){return this.#o&II?this:void 0}readlinkCached(){return this.#F}realpathCached(){return this.#v}readdirCached(){let e=this.children();return e.slice(0,e.provisional)}canReadlink(){if(this.#F)return!0;if(!this.parent)return!1;let e=this.#o&et;return!(e!==tt&&e!==js||this.#o&La||this.#o>)}calledReaddir(){return!!(this.#o&$u)}isENOENT(){return!!(this.#o>)}isNamed(e){return this.nocase?this.#b===_a(e):this.#b===Eo(e)}async readlink(){let e=this.#F;if(e)return e;if(this.canReadlink()&&this.parent)try{let t=await this.#e.promises.readlink(this.fullpath()),s=(await this.parent.realpath())?.resolve(t);if(s)return this.#F=s}catch(t){this.#T(t.code);return}}readlinkSync(){let e=this.#F;if(e)return e;if(this.canReadlink()&&this.parent)try{let t=this.#e.readlinkSync(this.fullpath()),s=this.parent.realpathSync()?.resolve(t);if(s)return this.#F=s}catch(t){this.#T(t.code);return}}#L(e){this.#o|=$u;for(let t=e.provisional;ts(null,e))}readdirCB(e,t=!1){if(!this.canReaddir()){t?e(null,[]):queueMicrotask(()=>e(null,[]));return}let s=this.children();if(this.calledReaddir()){let i=s.slice(0,s.provisional);t?e(null,i):queueMicrotask(()=>e(null,i));return}if(this.#G.push(e),this.#D)return;this.#D=!0;let r=this.fullpath();this.#e.readdir(r,{withFileTypes:!0},(i,o)=>{if(i)this.#_(i.code),s.provisional=0;else{for(let n of o)this.#Y(n,s);this.#L(s)}this.#V(s.slice(0,s.provisional))})}#q;async readdir(){if(!this.canReaddir())return[];let e=this.children();if(this.calledReaddir())return e.slice(0,e.provisional);let t=this.fullpath();if(this.#q)await this.#q;else{let s=()=>{};this.#q=new Promise(r=>s=r);try{for(let r of await this.#e.promises.readdir(t,{withFileTypes:!0}))this.#Y(r,e);this.#L(e)}catch(r){this.#_(r.code),e.provisional=0}this.#q=void 0,s()}return e.slice(0,e.provisional)}readdirSync(){if(!this.canReaddir())return[];let e=this.children();if(this.calledReaddir())return e.slice(0,e.provisional);let t=this.fullpath();try{for(let s of this.#e.readdirSync(t,{withFileTypes:!0}))this.#Y(s,e);this.#L(e)}catch(s){this.#_(s.code),e.provisional=0}return e.slice(0,e.provisional)}canReaddir(){if(this.#o&wI)return!1;let e=et&this.#o;return e===tt||e===kt||e===js}shouldWalk(e,t){return(this.#o&kt)===kt&&!(this.#o&wI)&&!e.has(this)&&(!t||t(this))}async realpath(){if(this.#v)return this.#v;if(!((Oa|La|gt)&this.#o))try{let e=await this.#e.promises.realpath(this.fullpath());return this.#v=this.resolve(e)}catch{this.#M()}}realpathSync(){if(this.#v)return this.#v;if(!((Oa|La|gt)&this.#o))try{let e=this.#e.realpathSync(this.fullpath());return this.#v=this.resolve(e)}catch{this.#M()}}[nw](e){if(e===this)return;e.isCWD=!1,this.isCWD=!0;let t=new Set([]),s=[],r=this;for(;r&&r.parent;)t.add(r),r.#I=s.join(this.sep),r.#x=s.join("/"),r=r.parent,s.push("..");for(r=e;r&&r.parent&&!t.has(r);)r.#I=void 0,r.#x=void 0,r=r.parent}},aw=class Aw extends Se{sep="\\";splitSep=u_;constructor(t,s=tt,r,i,o,n,a){super(t,s,r,i,o,n,a)}newChild(t,s=tt,r={}){return new Aw(t,s,this.root,this.roots,this.nocase,this.childrenCache(),r)}getRootString(t){return $r.win32.parse(t).root}getRoot(t){if(t=l_(t.toUpperCase()),t===this.root.name)return this.root;for(let[s,r]of Object.entries(this.roots))if(this.sameRoot(t,s))return this.roots[t]=r;return this.roots[t]=new op(t,this).root}sameRoot(t,s=this.root.name){return t=t.toUpperCase().replace(/\//g,"\\").replace(ew,"$1\\"),t===s}},cw=class lw extends Se{splitSep="/";sep="/";constructor(t,s=tt,r,i,o,n,a){super(t,s,r,i,o,n,a)}getRootString(t){return t.startsWith("/")?"/":""}getRoot(t){return this.root}newChild(t,s=tt,r={}){return new lw(t,s,this.root,this.roots,this.nocase,this.childrenCache(),r)}},uw=class{root;rootPath;roots;cwd;#e;#t;#i;nocase;#s;constructor(e=process.cwd(),t,s,{nocase:r,childrenCacheSize:i=16*1024,fs:o=go}={}){this.#s=$I(o),(e instanceof URL||e.startsWith("file://"))&&(e=(0,ZI.fileURLToPath)(e));let n=t.resolve(e);this.roots=Object.create(null),this.rootPath=this.parseRootPath(n),this.#e=new xI,this.#t=new xI,this.#i=new g_(i);let a=n.substring(this.rootPath.length).split(s);if(a.length===1&&!a[0]&&a.pop(),r===void 0)throw new TypeError("must provide nocase setting to PathScurryBase ctor");this.nocase=r,this.root=this.newRoot(this.#s),this.roots[this.rootPath]=this.root;let A=this.root,c=a.length-1,u=t.sep,l=this.rootPath,p=!1;for(let g of a){let h=c--;A=A.child(g,{relative:new Array(h).fill("..").join(u),relativePosix:new Array(h).fill("..").join("/"),fullpath:l+=(p?"":u)+g}),p=!0}this.cwd=A}depth(e=this.cwd){return typeof e=="string"&&(e=this.cwd.resolve(e)),e.depth()}childrenCache(){return this.#i}resolve(...e){let t="";for(let i=e.length-1;i>=0;i--){let o=e[i];if(!(!o||o===".")&&(t=t?`${o}/${t}`:o,this.isAbsolute(o)))break}let s=this.#e.get(t);if(s!==void 0)return s;let r=this.cwd.resolve(t).fullpath();return this.#e.set(t,r),r}resolvePosix(...e){let t="";for(let i=e.length-1;i>=0;i--){let o=e[i];if(!(!o||o===".")&&(t=t?`${o}/${t}`:o,this.isAbsolute(o)))break}let s=this.#t.get(t);if(s!==void 0)return s;let r=this.cwd.resolve(t).fullpathPosix();return this.#t.set(t,r),r}relative(e=this.cwd){return typeof e=="string"&&(e=this.cwd.resolve(e)),e.relative()}relativePosix(e=this.cwd){return typeof e=="string"&&(e=this.cwd.resolve(e)),e.relativePosix()}basename(e=this.cwd){return typeof e=="string"&&(e=this.cwd.resolve(e)),e.name}dirname(e=this.cwd){return typeof e=="string"&&(e=this.cwd.resolve(e)),(e.parent||e).fullpath()}async readdir(e=this.cwd,t={withFileTypes:!0}){typeof e=="string"?e=this.cwd.resolve(e):e instanceof Se||(t=e,e=this.cwd);let{withFileTypes:s}=t;if(e.canReaddir()){let r=await e.readdir();return s?r:r.map(i=>i.name)}else return[]}readdirSync(e=this.cwd,t={withFileTypes:!0}){typeof e=="string"?e=this.cwd.resolve(e):e instanceof Se||(t=e,e=this.cwd);let{withFileTypes:s=!0}=t;return e.canReaddir()?s?e.readdirSync():e.readdirSync().map(r=>r.name):[]}async lstat(e=this.cwd){return typeof e=="string"&&(e=this.cwd.resolve(e)),e.lstat()}lstatSync(e=this.cwd){return typeof e=="string"&&(e=this.cwd.resolve(e)),e.lstatSync()}async readlink(e=this.cwd,{withFileTypes:t}={withFileTypes:!1}){typeof e=="string"?e=this.cwd.resolve(e):e instanceof Se||(t=e.withFileTypes,e=this.cwd);let s=await e.readlink();return t?s:s?.fullpath()}readlinkSync(e=this.cwd,{withFileTypes:t}={withFileTypes:!1}){typeof e=="string"?e=this.cwd.resolve(e):e instanceof Se||(t=e.withFileTypes,e=this.cwd);let s=e.readlinkSync();return t?s:s?.fullpath()}async realpath(e=this.cwd,{withFileTypes:t}={withFileTypes:!1}){typeof e=="string"?e=this.cwd.resolve(e):e instanceof Se||(t=e.withFileTypes,e=this.cwd);let s=await e.realpath();return t?s:s?.fullpath()}realpathSync(e=this.cwd,{withFileTypes:t}={withFileTypes:!1}){typeof e=="string"?e=this.cwd.resolve(e):e instanceof Se||(t=e.withFileTypes,e=this.cwd);let s=e.realpathSync();return t?s:s?.fullpath()}async walk(e=this.cwd,t={}){typeof e=="string"?e=this.cwd.resolve(e):e instanceof Se||(t=e,e=this.cwd);let{withFileTypes:s=!0,follow:r=!1,filter:i,walkFilter:o}=t,n=[];(!i||i(e))&&n.push(s?e:e.fullpath());let a=new Set,A=(u,l)=>{a.add(u),u.readdirCB((p,g)=>{if(p)return l(p);let h=g.length;if(!h)return l();let E=()=>{--h===0&&l()};for(let f of g)(!i||i(f))&&n.push(s?f:f.fullpath()),r&&f.isSymbolicLink()?f.realpath().then(d=>d?.isUnknown()?d.lstat():d).then(d=>d?.shouldWalk(a,o)?A(d,E):E()):f.shouldWalk(a,o)?A(f,E):E()},!0)},c=e;return new Promise((u,l)=>{A(c,p=>{if(p)return l(p);u(n)})})}walkSync(e=this.cwd,t={}){typeof e=="string"?e=this.cwd.resolve(e):e instanceof Se||(t=e,e=this.cwd);let{withFileTypes:s=!0,follow:r=!1,filter:i,walkFilter:o}=t,n=[];(!i||i(e))&&n.push(s?e:e.fullpath());let a=new Set([e]);for(let A of a){let c=A.readdirSync();for(let u of c){(!i||i(u))&&n.push(s?u:u.fullpath());let l=u;if(u.isSymbolicLink()){if(!(r&&(l=u.realpathSync())))continue;l.isUnknown()&&l.lstatSync()}l.shouldWalk(a,o)&&a.add(l)}}return n}[Symbol.asyncIterator](){return this.iterate()}iterate(e=this.cwd,t={}){return typeof e=="string"?e=this.cwd.resolve(e):e instanceof Se||(t=e,e=this.cwd),this.stream(e,t)[Symbol.asyncIterator]()}[Symbol.iterator](){return this.iterateSync()}*iterateSync(e=this.cwd,t={}){typeof e=="string"?e=this.cwd.resolve(e):e instanceof Se||(t=e,e=this.cwd);let{withFileTypes:s=!0,follow:r=!1,filter:i,walkFilter:o}=t;(!i||i(e))&&(yield s?e:e.fullpath());let n=new Set([e]);for(let a of n){let A=a.readdirSync();for(let c of A){(!i||i(c))&&(yield s?c:c.fullpath());let u=c;if(c.isSymbolicLink()){if(!(r&&(u=c.realpathSync())))continue;u.isUnknown()&&u.lstatSync()}u.shouldWalk(n,o)&&n.add(u)}}}stream(e=this.cwd,t={}){typeof e=="string"?e=this.cwd.resolve(e):e instanceof Se||(t=e,e=this.cwd);let{withFileTypes:s=!0,follow:r=!1,filter:i,walkFilter:o}=t,n=new Ha({objectMode:!0});(!i||i(e))&&n.write(s?e:e.fullpath());let a=new Set,A=[e],c=0,u=()=>{let l=!1;for(;!l;){let p=A.shift();if(!p){c===0&&n.end();return}c++,a.add(p);let g=(E,f,d=!1)=>{if(E)return n.emit("error",E);if(r&&!d){let m=[];for(let C of f)C.isSymbolicLink()&&m.push(C.realpath().then(B=>B?.isUnknown()?B.lstat():B));if(m.length){Promise.all(m).then(()=>g(null,f,!0));return}}for(let m of f)m&&(!i||i(m))&&(n.write(s?m:m.fullpath())||(l=!0));c--;for(let m of f){let C=m.realpathCached()||m;C.shouldWalk(a,o)&&A.push(C)}l&&!n.flowing?n.once("drain",u):h||u()},h=!0;p.readdirCB(g,!0),h=!1}};return u(),n}streamSync(e=this.cwd,t={}){typeof e=="string"?e=this.cwd.resolve(e):e instanceof Se||(t=e,e=this.cwd);let{withFileTypes:s=!0,follow:r=!1,filter:i,walkFilter:o}=t,n=new Ha({objectMode:!0}),a=new Set;(!i||i(e))&&n.write(s?e:e.fullpath());let A=[e],c=0,u=()=>{let l=!1;for(;!l;){let p=A.shift();if(!p){c===0&&n.end();return}c++,a.add(p);let g=p.readdirSync();for(let h of g)(!i||i(h))&&(n.write(s?h:h.fullpath())||(l=!0));c--;for(let h of g){let E=h;if(h.isSymbolicLink()){if(!(r&&(E=h.realpathSync())))continue;E.isUnknown()&&E.lstatSync()}E.shouldWalk(a,o)&&A.push(E)}}l&&!n.flowing&&n.once("drain",u)};return u(),n}chdir(e=this.cwd){let t=this.cwd;this.cwd=typeof e=="string"?this.cwd.resolve(e):e,this.cwd[nw](t)}},op=class extends uw{sep="\\";constructor(e=process.cwd(),t={}){let{nocase:s=!0}=t;super(e,$r.win32,"\\",{...t,nocase:s}),this.nocase=s;for(let r=this.cwd;r;r=r.parent)r.nocase=this.nocase}parseRootPath(e){return $r.win32.parse(e).root.toUpperCase()}newRoot(e){return new aw(this.rootPath,kt,void 0,this.roots,this.nocase,this.childrenCache(),{fs:e})}isAbsolute(e){return e.startsWith("/")||e.startsWith("\\")||/^[a-z]:(\/|\\)/i.test(e)}},np=class extends uw{sep="/";constructor(e=process.cwd(),t={}){let{nocase:s=!1}=t;super(e,$r.posix,"/",{...t,nocase:s}),this.nocase=s}parseRootPath(e){return"/"}newRoot(e){return new cw(this.rootPath,kt,void 0,this.roots,this.nocase,this.childrenCache(),{fs:e})}isAbsolute(e){return e.startsWith("/")}},pw=class extends np{constructor(e=process.cwd(),t={}){let{nocase:s=!0}=t;super(e,{...t,nocase:s})}},jJ=process.platform==="win32"?aw:cw,h_=process.platform==="win32"?op:process.platform==="darwin"?pw:np,d_=e=>e.length>=1,E_=e=>e.length>=1,m_=Symbol.for("nodejs.util.inspect.custom"),gw=class hw{#e;#t;#i;length;#s;#r;#A;#a;#c;#l;#g=!0;constructor(t,s,r,i){if(!d_(t))throw new TypeError("empty pattern list");if(!E_(s))throw new TypeError("empty glob list");if(s.length!==t.length)throw new TypeError("mismatched pattern list and glob list lengths");if(this.length=t.length,r<0||r>=this.length)throw new TypeError("index out of range");if(this.#e=t,this.#t=s,this.#i=r,this.#s=i,this.#i===0){if(this.isUNC()){let[o,n,a,A,...c]=this.#e,[u,l,p,g,...h]=this.#t;c[0]===""&&(c.shift(),h.shift());let E=[o,n,a,A,""].join("/"),f=[u,l,p,g,""].join("/");this.#e=[E,...c],this.#t=[f,...h],this.length=this.#e.length}else if(this.isDrive()||this.isAbsolute()){let[o,...n]=this.#e,[a,...A]=this.#t;n[0]===""&&(n.shift(),A.shift());let c=o+"/",u=a+"/";this.#e=[c,...n],this.#t=[u,...A],this.length=this.#e.length}}}[m_](){return"Pattern <"+this.#t.slice(this.#i).join("/")+">"}pattern(){return this.#e[this.#i]}isString(){return typeof this.#e[this.#i]=="string"}isGlobstar(){return this.#e[this.#i]===be}isRegExp(){return this.#e[this.#i]instanceof RegExp}globString(){return this.#A=this.#A||(this.#i===0?this.isAbsolute()?this.#t[0]+this.#t.slice(1).join("/"):this.#t.join("/"):this.#t.slice(this.#i).join("/"))}hasMore(){return this.length>this.#i+1}rest(){return this.#r!==void 0?this.#r:this.hasMore()?(this.#r=new hw(this.#e,this.#t,this.#i+1,this.#s),this.#r.#l=this.#l,this.#r.#c=this.#c,this.#r.#a=this.#a,this.#r):this.#r=null}isUNC(){let t=this.#e;return this.#c!==void 0?this.#c:this.#c=this.#s==="win32"&&this.#i===0&&t[0]===""&&t[1]===""&&typeof t[2]=="string"&&!!t[2]&&typeof t[3]=="string"&&!!t[3]}isDrive(){let t=this.#e;return this.#a!==void 0?this.#a:this.#a=this.#s==="win32"&&this.#i===0&&this.length>1&&typeof t[0]=="string"&&/^[a-z]:$/i.test(t[0])}isAbsolute(){let t=this.#e;return this.#l!==void 0?this.#l:this.#l=t[0]===""&&t.length>1||this.isDrive()||this.isUNC()}root(){let t=this.#e[0];return typeof t=="string"&&this.isAbsolute()&&this.#i===0?t:""}checkFollowGlobstar(){return!(this.#i===0||!this.isGlobstar()||!this.#g)}markFollowGlobstar(){return this.#i===0||!this.isGlobstar()||!this.#g?!1:(this.#g=!1,!0)}},f_=typeof process=="object"&&process&&typeof process.platform=="string"?process.platform:"linux",vI=class{relative;relativeChildren;absolute;absoluteChildren;platform;mmopts;constructor(e,{nobrace:t,nocase:s,noext:r,noglobstar:i,platform:o=f_}){this.relative=[],this.absolute=[],this.relativeChildren=[],this.absoluteChildren=[],this.platform=o,this.mmopts={dot:!0,nobrace:t,nocase:s,noext:r,noglobstar:i,optimizationLevel:2,platform:o,nocomment:!0,nonegate:!0};for(let n of e)this.add(n)}add(e){let t=new fs(e,this.mmopts);for(let s=0;s[e,!!(t&2),!!(t&1)])}},C_=class{store=new Map;add(e,t){if(!e.canReaddir())return;let s=this.store.get(e);s?s.find(r=>r.globString()===t.globString())||s.push(t):this.store.set(e,[t])}get(e){let t=this.store.get(e);if(!t)throw new Error("attempting to walk unknown path");return t}entries(){return this.keys().map(e=>[e,this.store.get(e)])}keys(){return[...this.store.keys()].filter(e=>e.canReaddir())}},kI=class Ew{hasWalkedCache;matches=new B_;subwalks=new C_;patterns;follow;dot;opts;constructor(t,s){this.opts=t,this.follow=!!t.follow,this.dot=!!t.dot,this.hasWalkedCache=s?s.copy():new Q_}processPatterns(t,s){this.patterns=s;let r=s.map(i=>[t,i]);for(let[i,o]of r){this.hasWalkedCache.storeWalked(i,o);let n=o.root(),a=o.isAbsolute()&&this.opts.absolute!==!1;if(n){i=i.resolve(n==="/"&&this.opts.root!==void 0?this.opts.root:n);let l=o.rest();if(l)o=l;else{this.matches.add(i,!0,!1);continue}}if(i.isENOENT())continue;let A,c,u=!1;for(;typeof(A=o.pattern())=="string"&&(c=o.rest());)i=i.resolve(A),o=c,u=!0;if(A=o.pattern(),c=o.rest(),u){if(this.hasWalkedCache.hasWalked(i,o))continue;this.hasWalkedCache.storeWalked(i,o)}if(typeof A=="string"){let l=A===".."||A===""||A===".";this.matches.add(i.resolve(A),a,l);continue}else if(A===be){(!i.isSymbolicLink()||this.follow||o.checkFollowGlobstar())&&this.subwalks.add(i,o);let l=c?.pattern(),p=c?.rest();if(!c||(l===""||l===".")&&!p)this.matches.add(i,a,l===""||l===".");else if(l===".."){let g=i.parent||i;p?this.hasWalkedCache.hasWalked(g,p)||this.subwalks.add(g,p):this.matches.add(g,a,!0)}}else A instanceof RegExp&&this.subwalks.add(i,o)}return this}subwalkTargets(){return this.subwalks.keys()}child(){return new Ew(this.opts,this.hasWalkedCache)}filterEntries(t,s){let r=this.subwalks.get(t),i=this.child();for(let o of s)for(let n of r){let a=n.isAbsolute(),A=n.pattern(),c=n.rest();A===be?i.testGlobstar(o,n,c,a):A instanceof RegExp?i.testRegExp(o,A,c,a):i.testString(o,A,c,a)}return i}testGlobstar(t,s,r,i){if((this.dot||!t.name.startsWith("."))&&(s.hasMore()||this.matches.add(t,i,!1),t.canReaddir()&&(this.follow||!t.isSymbolicLink()?this.subwalks.add(t,s):t.isSymbolicLink()&&(r&&s.checkFollowGlobstar()?this.subwalks.add(t,r):s.markFollowGlobstar()&&this.subwalks.add(t,s)))),r){let o=r.pattern();if(typeof o=="string"&&o!==".."&&o!==""&&o!==".")this.testString(t,o,r.rest(),i);else if(o===".."){let n=t.parent||t;this.subwalks.add(n,r)}else o instanceof RegExp&&this.testRegExp(t,o,r.rest(),i)}}testRegExp(t,s,r,i){s.test(t.name)&&(r?this.subwalks.add(t,r):this.matches.add(t,i,!1))}testString(t,s,r,i){t.isNamed(s)&&(r?this.subwalks.add(t,r):this.matches.add(t,i,!1))}},I_=(e,t)=>typeof e=="string"?new vI([e],t):Array.isArray(e)?new vI(e,t):e,mw=class{path;patterns;opts;seen=new Set;paused=!1;aborted=!1;#e=[];#t;#i;signal;maxDepth;includeChildMatches;constructor(e,t,s){if(this.patterns=e,this.path=t,this.opts=s,this.#i=!s.posix&&s.platform==="win32"?"\\":"/",this.includeChildMatches=s.includeChildMatches!==!1,(s.ignore||!this.includeChildMatches)&&(this.#t=I_(s.ignore??[],s),!this.includeChildMatches&&typeof this.#t.add!="function")){let r="cannot ignore child matches, ignore lacks add() method.";throw new Error(r)}this.maxDepth=s.maxDepth||1/0,s.signal&&(this.signal=s.signal,this.signal.addEventListener("abort",()=>{this.#e.length=0}))}#s(e){return this.seen.has(e)||!!this.#t?.ignored?.(e)}#r(e){return!!this.#t?.childrenIgnored?.(e)}pause(){this.paused=!0}resume(){if(this.signal?.aborted)return;this.paused=!1;let e;for(;!this.paused&&(e=this.#e.shift());)e()}onResume(e){this.signal?.aborted||(this.paused?this.#e.push(e):e())}async matchCheck(e,t){if(t&&this.opts.nodir)return;let s;if(this.opts.realpath){if(s=e.realpathCached()||await e.realpath(),!s)return;e=s}let r=e.isUnknown()||this.opts.stat?await e.lstat():e;if(this.opts.follow&&this.opts.nodir&&r?.isSymbolicLink()){let i=await r.realpath();i&&(i.isUnknown()||this.opts.stat)&&await i.lstat()}return this.matchCheckTest(r,t)}matchCheckTest(e,t){return e&&(this.maxDepth===1/0||e.depth()<=this.maxDepth)&&(!t||e.canReaddir())&&(!this.opts.nodir||!e.isDirectory())&&(!this.opts.nodir||!this.opts.follow||!e.isSymbolicLink()||!e.realpathCached()?.isDirectory())&&!this.#s(e)?e:void 0}matchCheckSync(e,t){if(t&&this.opts.nodir)return;let s;if(this.opts.realpath){if(s=e.realpathCached()||e.realpathSync(),!s)return;e=s}let r=e.isUnknown()||this.opts.stat?e.lstatSync():e;if(this.opts.follow&&this.opts.nodir&&r?.isSymbolicLink()){let i=r.realpathSync();i&&(i?.isUnknown()||this.opts.stat)&&i.lstatSync()}return this.matchCheckTest(r,t)}matchFinish(e,t){if(this.#s(e))return;if(!this.includeChildMatches&&this.#t?.add){let i=`${e.relativePosix()}/**`;this.#t.add(i)}let s=this.opts.absolute===void 0?t:this.opts.absolute;this.seen.add(e);let r=this.opts.mark&&e.isDirectory()?this.#i:"";if(this.opts.withFileTypes)this.matchEmit(e);else if(s){let i=this.opts.posix?e.fullpathPosix():e.fullpath();this.matchEmit(i+r)}else{let i=this.opts.posix?e.relativePosix():e.relative(),o=this.opts.dotRelative&&!i.startsWith(".."+this.#i)?"."+this.#i:"";this.matchEmit(i?o+i+r:"."+r)}}async match(e,t,s){let r=await this.matchCheck(e,s);r&&this.matchFinish(r,t)}matchSync(e,t,s){let r=this.matchCheckSync(e,s);r&&this.matchFinish(r,t)}walkCB(e,t,s){this.signal?.aborted&&s(),this.walkCB2(e,t,new kI(this.opts),s)}walkCB2(e,t,s,r){if(this.#r(e))return r();if(this.signal?.aborted&&r(),this.paused){this.onResume(()=>this.walkCB2(e,t,s,r));return}s.processPatterns(e,t);let i=1,o=()=>{--i===0&&r()};for(let[n,a,A]of s.matches.entries())this.#s(n)||(i++,this.match(n,a,A).then(()=>o()));for(let n of s.subwalkTargets()){if(this.maxDepth!==1/0&&n.depth()>=this.maxDepth)continue;i++;let a=n.readdirCached();n.calledReaddir()?this.walkCB3(n,a,s,o):n.readdirCB((A,c)=>this.walkCB3(n,c,s,o),!0)}o()}walkCB3(e,t,s,r){s=s.filterEntries(e,t);let i=1,o=()=>{--i===0&&r()};for(let[n,a,A]of s.matches.entries())this.#s(n)||(i++,this.match(n,a,A).then(()=>o()));for(let[n,a]of s.subwalks.entries())i++,this.walkCB2(n,a,s.child(),o);o()}walkCBSync(e,t,s){this.signal?.aborted&&s(),this.walkCB2Sync(e,t,new kI(this.opts),s)}walkCB2Sync(e,t,s,r){if(this.#r(e))return r();if(this.signal?.aborted&&r(),this.paused){this.onResume(()=>this.walkCB2Sync(e,t,s,r));return}s.processPatterns(e,t);let i=1,o=()=>{--i===0&&r()};for(let[n,a,A]of s.matches.entries())this.#s(n)||this.matchSync(n,a,A);for(let n of s.subwalkTargets()){if(this.maxDepth!==1/0&&n.depth()>=this.maxDepth)continue;i++;let a=n.readdirSync();this.walkCB3Sync(n,a,s,o)}o()}walkCB3Sync(e,t,s,r){s=s.filterEntries(e,t);let i=1,o=()=>{--i===0&&r()};for(let[n,a,A]of s.matches.entries())this.#s(n)||this.matchSync(n,a,A);for(let[n,a]of s.subwalks.entries())i++,this.walkCB2Sync(n,a,s.child(),o);o()}},DI=class extends mw{matches=new Set;constructor(e,t,s){super(e,t,s)}matchEmit(e){this.matches.add(e)}async walk(){if(this.signal?.aborted)throw this.signal.reason;return this.path.isUnknown()&&await this.path.lstat(),await new Promise((e,t)=>{this.walkCB(this.path,this.patterns,()=>{this.signal?.aborted?t(this.signal.reason):e(this.matches)})}),this.matches}walkSync(){if(this.signal?.aborted)throw this.signal.reason;return this.path.isUnknown()&&this.path.lstatSync(),this.walkCBSync(this.path,this.patterns,()=>{if(this.signal?.aborted)throw this.signal.reason}),this.matches}},RI=class extends mw{results;constructor(e,t,s){super(e,t,s),this.results=new Ha({signal:this.signal,objectMode:!0}),this.results.on("drain",()=>this.resume()),this.results.on("resume",()=>this.resume())}matchEmit(e){this.results.write(e),this.results.flowing||this.pause()}stream(){let e=this.path;return e.isUnknown()?e.lstat().then(()=>{this.walkCB(e,this.patterns,()=>this.results.end())}):this.walkCB(e,this.patterns,()=>this.results.end()),this.results}streamSync(){return this.path.isUnknown()&&this.path.lstatSync(),this.walkCBSync(this.path,this.patterns,()=>this.results.end()),this.results}},w_=typeof process=="object"&&process&&typeof process.platform=="string"?process.platform:"linux",zs=class{absolute;cwd;root;dot;dotRelative;follow;ignore;magicalBraces;mark;matchBase;maxDepth;nobrace;nocase;nodir;noext;noglobstar;pattern;platform;realpath;scurry;stat;signal;windowsPathsNoEscape;withFileTypes;includeChildMatches;opts;patterns;constructor(e,t){if(!t)throw new TypeError("glob options required");if(this.withFileTypes=!!t.withFileTypes,this.signal=t.signal,this.follow=!!t.follow,this.dot=!!t.dot,this.dotRelative=!!t.dotRelative,this.nodir=!!t.nodir,this.mark=!!t.mark,t.cwd?(t.cwd instanceof URL||t.cwd.startsWith("file://"))&&(t.cwd=(0,VI.fileURLToPath)(t.cwd)):this.cwd="",this.cwd=t.cwd||"",this.root=t.root,this.magicalBraces=!!t.magicalBraces,this.nobrace=!!t.nobrace,this.noext=!!t.noext,this.realpath=!!t.realpath,this.absolute=t.absolute,this.includeChildMatches=t.includeChildMatches!==!1,this.noglobstar=!!t.noglobstar,this.matchBase=!!t.matchBase,this.maxDepth=typeof t.maxDepth=="number"?t.maxDepth:1/0,this.stat=!!t.stat,this.ignore=t.ignore,this.withFileTypes&&this.absolute!==void 0)throw new Error("cannot set absolute and withFileTypes:true");if(typeof e=="string"&&(e=[e]),this.windowsPathsNoEscape=!!t.windowsPathsNoEscape||t.allowWindowsEscape===!1,this.windowsPathsNoEscape&&(e=e.map(a=>a.replace(/\\/g,"/"))),this.matchBase){if(t.noglobstar)throw new TypeError("base matching requires globstar");e=e.map(a=>a.includes("/")?a:`./**/${a}`)}if(this.pattern=e,this.platform=t.platform||w_,this.opts={...t,platform:this.platform},t.scurry){if(this.scurry=t.scurry,t.nocase!==void 0&&t.nocase!==t.scurry.nocase)throw new Error("nocase option contradicts provided scurry option")}else{let a=t.platform==="win32"?op:t.platform==="darwin"?pw:t.platform?np:h_;this.scurry=new a(this.cwd,{nocase:t.nocase,fs:t.fs})}this.nocase=this.scurry.nocase;let s=this.platform==="darwin"||this.platform==="win32",r={braceExpandMax:1e4,...t,dot:this.dot,matchBase:this.matchBase,nobrace:this.nobrace,nocase:this.nocase,nocaseMagicOnly:s,nocomment:!0,noext:this.noext,nonegate:!0,optimizationLevel:2,platform:this.platform,windowsPathsNoEscape:this.windowsPathsNoEscape,debug:!!this.opts.debug},i=this.pattern.map(a=>new fs(a,r)),[o,n]=i.reduce((a,A)=>(a[0].push(...A.set),a[1].push(...A.globParts),a),[[],[]]);this.patterns=o.map((a,A)=>{let c=n[A];if(!c)throw new Error("invalid pattern object");return new gw(a,c,0,this.platform)})}async walk(){return[...await new DI(this.patterns,this.scurry.cwd,{...this.opts,maxDepth:this.maxDepth!==1/0?this.maxDepth+this.scurry.cwd.depth():1/0,platform:this.platform,nocase:this.nocase,includeChildMatches:this.includeChildMatches}).walk()]}walkSync(){return[...new DI(this.patterns,this.scurry.cwd,{...this.opts,maxDepth:this.maxDepth!==1/0?this.maxDepth+this.scurry.cwd.depth():1/0,platform:this.platform,nocase:this.nocase,includeChildMatches:this.includeChildMatches}).walkSync()]}stream(){return new RI(this.patterns,this.scurry.cwd,{...this.opts,maxDepth:this.maxDepth!==1/0?this.maxDepth+this.scurry.cwd.depth():1/0,platform:this.platform,nocase:this.nocase,includeChildMatches:this.includeChildMatches}).stream()}streamSync(){return new RI(this.patterns,this.scurry.cwd,{...this.opts,maxDepth:this.maxDepth!==1/0?this.maxDepth+this.scurry.cwd.depth():1/0,platform:this.platform,nocase:this.nocase,includeChildMatches:this.includeChildMatches}).streamSync()}iterateSync(){return this.streamSync()[Symbol.iterator]()}[Symbol.iterator](){return this.iterateSync()}iterate(){return this.stream()[Symbol.asyncIterator]()}[Symbol.asyncIterator](){return this.iterate()}},b_=(e,t={})=>{Array.isArray(e)||(e=[e]);for(let s of e)if(new fs(s,t).hasMagic())return!0;return!1};function Wa(e,t={}){return new zs(e,t).streamSync()}function fw(e,t={}){return new zs(e,t).stream()}function Qw(e,t={}){return new zs(e,t).walkSync()}async function TI(e,t={}){return new zs(e,t).walk()}function ja(e,t={}){return new zs(e,t).iterateSync()}function Bw(e,t={}){return new zs(e,t).iterate()}var y_=Wa,x_=Object.assign(fw,{sync:Wa}),v_=ja,k_=Object.assign(Bw,{sync:ja}),za=Object.assign(Qw,{stream:Wa,iterate:ja}),FI=Object.assign(TI,{glob:TI,globSync:Qw,sync:za,globStream:fw,stream:x_,globStreamSync:Wa,streamSync:y_,globIterate:Bw,iterate:k_,globIterateSync:ja,iterateSync:v_,Glob:zs,hasMagic:b_,escape:YI,unescape:Xr});FI.glob=FI;var mo=require("fs"),ap=require("os"),Zs=de(require("path")),Cw=e=>{let t=e.indexOf("{");return t>-1?e.substring(0,t):e},Ap=e=>{if(e.input_body_path)try{return(0,mo.readFileSync)(e.input_body_path,"utf8")}catch(t){console.warn(`\u26A0\uFE0F Failed to read body_path "${e.input_body_path}" (${t?.code??"ERR"}). Falling back to 'body' input.`)}return e.input_body},R_=e=>{let t=[],s="",r=0;for(let i of e)i==="{"&&r++,i==="}"&&r--,i===","&&r===0?(s.trim()&&t.push(s.trim()),s=""):s+=i;return s.trim()&&t.push(s.trim()),t},T_=e=>e.split(/\r?\n/).flatMap(t=>R_(t)).filter(t=>t.trim()!==""),F_=e=>{let t=e.INPUT_TOKEN?.trim();return t||e.GITHUB_TOKEN?.trim()||""},Iw=e=>({github_token:F_(e),github_ref:e.GITHUB_REF||"",github_repository:e.INPUT_REPOSITORY||e.GITHUB_REPOSITORY||"",input_name:e.INPUT_NAME,input_tag_name:cp(e.INPUT_TAG_NAME?.trim()),input_body:e.INPUT_BODY,input_body_path:e.INPUT_BODY_PATH,input_files:T_(e.INPUT_FILES||""),input_working_directory:e.INPUT_WORKING_DIRECTORY||void 0,input_overwrite_files:e.INPUT_OVERWRITE_FILES?e.INPUT_OVERWRITE_FILES=="true":void 0,input_draft:e.INPUT_DRAFT?e.INPUT_DRAFT==="true":void 0,input_preserve_order:e.INPUT_PRESERVE_ORDER?e.INPUT_PRESERVE_ORDER=="true":void 0,input_prerelease:e.INPUT_PRERELEASE?e.INPUT_PRERELEASE=="true":void 0,input_fail_on_unmatched_files:e.INPUT_FAIL_ON_UNMATCHED_FILES=="true",input_target_commitish:e.INPUT_TARGET_COMMITISH||void 0,input_discussion_category_name:e.INPUT_DISCUSSION_CATEGORY_NAME||void 0,input_generate_release_notes:e.INPUT_GENERATE_RELEASE_NOTES=="true",input_previous_tag:e.INPUT_PREVIOUS_TAG?.trim()||void 0,input_append_body:e.INPUT_APPEND_BODY=="true",input_make_latest:S_(e.INPUT_MAKE_LATEST)}),S_=e=>{if(e==="true"||e==="false"||e==="legacy")return e},U_=(e,t=process.platform)=>t==="win32"?e.replace(/\\/g,"/"):e,N_=(e,t=(0,ap.homedir)())=>e==="~"?t:e.startsWith("~/")||e.startsWith("~\\")?Zs.join(t,e.slice(2)):e,ww=(e,t=process.platform,s=(0,ap.homedir)())=>U_(N_(e,s),t),bw=(e,t)=>e.reduce((s,r)=>{let o=za(ww(r),{cwd:t,dot:!0,absolute:!1}).map(n=>t&&!Zs.isAbsolute(n)?Zs.join(t,n):n).filter(n=>{try{return(0,mo.statSync)(n).isFile()}catch{return!1}});return s.concat(o)},[]),yw=(e,t)=>e.reduce((s,r)=>{let o=za(ww(r),{cwd:t,dot:!0,absolute:!1}).filter(n=>{try{let a=t&&!Zs.isAbsolute(n)?Zs.join(t,n):n;return(0,mo.statSync)(a).isFile()}catch{return!1}});return s.concat(o.length==0?[r]:[])},[]),fo=e=>e.startsWith("refs/tags/"),cp=e=>e&&(fo(e)?e.replace("refs/tags/",""):e),xw=e=>e.replace(/ /g,".");var Za=class{github;constructor(t){this.github=t}getReleaseByTag(t){return this.github.rest.repos.getReleaseByTag(t)}async getReleaseNotes(t){return await this.github.rest.repos.generateReleaseNotes(t)}async prepareReleaseMutation(t){let{previous_tag_name:s,...r}=t;if(typeof r.make_latest=="string"&&!["true","false","legacy"].includes(r.make_latest)&&(r.make_latest=void 0),r.generate_release_notes){let i=await this.getReleaseNotes({owner:r.owner,repo:r.repo,tag_name:r.tag_name,target_commitish:r.target_commitish,previous_tag_name:s});r.generate_release_notes=!1,r.body?r.body=`${r.body} + +${i.data.body}`:r.body=i.data.body}return r.body=r.body?this.truncateReleaseNotes(r.body):void 0,r}truncateReleaseNotes(t){return t.substring(0,124999)}async createRelease(t){return this.github.rest.repos.createRelease(await this.prepareReleaseMutation(t))}async updateRelease(t){return this.github.rest.repos.updateRelease(await this.prepareReleaseMutation(t))}async finalizeRelease(t){return await this.github.rest.repos.updateRelease({owner:t.owner,repo:t.repo,release_id:t.release_id,draft:!1,make_latest:t.make_latest,discussion_category_name:t.discussion_category_name})}allReleases(t){let s={per_page:100,...t};return this.github.paginate.iterator(this.github.rest.repos.listReleases.endpoint.merge(s))}async listReleaseAssets(t){return this.github.paginate(this.github.rest.repos.listReleaseAssets,{...t,per_page:100})}async deleteReleaseAsset(t){await this.github.rest.repos.deleteReleaseAsset(t)}async deleteRelease(t){await this.github.rest.repos.deleteRelease(t)}async updateReleaseAsset(t){return await this.github.rest.repos.updateReleaseAsset(t)}async uploadReleaseAsset(t){return this.github.request({method:"POST",url:t.url,headers:{"content-length":`${t.size}`,"content-type":t.mime,authorization:`token ${t.token}`},data:t.data})}},G_=e=>({name:(0,Tw.basename)(e),mime:M_(e),size:(0,kw.statSync)(e).size}),M_=e=>(0,Rw.lookup)(e)||"application/octet-stream",lp=(e,t)=>t.name===e||t.name===xw(e)||t.label===e,L_=e=>{let t=e?.status??e?.response?.status,s=e?.request?.url,r=e?.message,i=typeof s=="string"&&(/\/releases\/assets\//.test(s)||/\/releases\/\d+\/assets(?:\?|$)/.test(s));return t===404&&(i||typeof r=="string"&&r.includes("update-a-release-asset"))},__=e=>{let t=e?.status??e?.response?.status,s=e?.response?.data?.message??e?.message;return t===422&&/immutable release/i.test(String(s))},Y_=(e,t)=>t?`Cannot upload asset ${e} to an immutable release. GitHub only allows asset uploads before a release is published, but draft prereleases publish with the release.published event instead of release.prereleased. If you need prereleases with assets on an immutable-release repository, keep the release as a draft with draft: true, then publish it later from that draft and subscribe downstream workflows to release.published.`:`Cannot upload asset ${e} to an immutable release. GitHub only allows asset uploads before a release is published, so upload assets to a draft release before you publish it.`,Fw=async(e,t,s,r,i)=>{let[o,n]=e.github_repository.split("/"),{name:a,mime:A,size:c}=G_(r),u=s.match(/\/releases\/(\d+)\/assets/),l=u?Number(u[1]):void 0,p=i.find(m=>lp(a,m));if(p){if(e.input_overwrite_files===!1)return console.log(`Asset ${a} already exists and overwrite_files is false...`),null;console.log(`\u267B\uFE0F Deleting previously uploaded asset ${a}...`),await t.deleteReleaseAsset({asset_id:p.id||1,owner:o,repo:n})}console.log(`\u2B06\uFE0F Uploading ${a}...`);let g=new URL(s);g.searchParams.append("name",a);let h=async(m,C=3)=>{if(l!==void 0)for(let B=1;B<=C;B++){let S=(await t.listReleaseAssets({owner:o,repo:n,release_id:l})).find(m);if(S)return S;BsetTimeout(G,1e3))}},E=async()=>{let m=await(0,Dw.open)(r);try{return await t.uploadReleaseAsset({url:g.toString(),size:c,mime:A,token:e.github_token,data:m.readableWebStream()})}finally{await m.close()}},f=async m=>{if(!m.name||m.name===a||!m.id)return m;console.log(`\u270F\uFE0F Restoring asset label to ${a}...`);let C=async B=>{let{data:b}=await t.updateReleaseAsset({owner:o,repo:n,asset_id:B,name:m.name,label:a});return b};try{return await C(m.id)}catch(B){if((B?.status??B?.response?.status)===404&&l!==void 0)try{let S=await h(G=>G.id===m.id||G.name===m.name);if(S)return await C(S.id)}catch(S){console.warn(`error refreshing release assets for ${a}: ${S}`)}return console.warn(`error updating release asset label for ${a}: ${B}`),m}},d=async m=>{let C=m.data;if(m.status!==201)throw new Error(`Failed to upload release asset ${a}. received status code ${m.status} +${C.message} +${JSON.stringify(C.errors)}`);let B=await f(C);return console.log(`\u2705 Uploaded ${a}`),B};try{return await d(await E())}catch(m){let C=m?.status??m?.response?.status,B=m?.response?.data;if(__(m))throw new Error(Y_(a,e.input_prerelease));if(l!==void 0&&L_(m))try{let b=await h(S=>lp(a,S));if(b)return console.warn(`error updating release asset metadata for ${a}: ${m}. Matching asset is present after refresh; continuing...`),b}catch(b){console.warn(`error refreshing release assets after metadata update failure: ${b}`)}if(e.input_overwrite_files!==!1&&C===422&&B?.errors?.[0]?.code==="already_exists"&&l!==void 0){console.log(`\u26A0\uFE0F Asset ${a} already exists (race condition), refreshing assets and retrying once...`);let S=(await t.listReleaseAssets({owner:o,repo:n,release_id:l})).find(G=>lp(a,G));if(S)return await t.deleteReleaseAsset({owner:o,repo:n,asset_id:S.id}),await d(await E())}throw m}},up=async(e,t,s=3)=>{if(s<=0)throw console.log("\u274C Too many retries. Aborting..."),new Error("Too many retries.");let[r,i]=e.github_repository.split("/"),o=cp(e.input_tag_name)||(fo(e.github_ref)?e.github_ref.replace("refs/tags/",""):""),n=e.input_discussion_category_name,a=e.input_generate_release_notes,A=e.input_previous_tag;a&&A&&console.log(`\u{1F4DD} Generating release notes using previous tag ${A}`);try{let c=await Sw(t,r,i,o);if(c===void 0)return await vw(o,e,t,r,i,n,a,s,A);let u=c;console.log(`Found release ${u.name} (with id=${u.id})`);let l=u.id,p;e.input_target_commitish&&e.input_target_commitish!==u.target_commitish?(console.log(`Updating commit from "${u.target_commitish}" to "${e.input_target_commitish}"`),p=e.input_target_commitish):p=u.target_commitish;let g=o,h=e.input_name||u.name||o,E=Ap(e)||"",f=u.body||"",d;e.input_append_body&&E&&f?d=f+` +`+E:d=E||f;let m=e.input_prerelease!==void 0?e.input_prerelease:u.prerelease,C=e.input_make_latest;return{release:(await t.updateRelease({owner:r,repo:i,release_id:l,tag_name:g,target_commitish:p,name:h,body:d,draft:u.draft,prerelease:m,discussion_category_name:n,generate_release_notes:a,make_latest:C,previous_tag_name:A})).data,created:!1}}catch(c){if(c.status!==404)throw console.log(`\u26A0\uFE0F Unexpected error fetching GitHub release for tag ${e.github_ref}: ${c}`),c;return await vw(o,e,t,r,i,n,a,s,A)}},pp=async(e,t,s,r=!1,i=3)=>{if(e.input_draft===!0||s.draft===!1)return s;if(i<=0)throw console.log("\u274C Too many retries. Aborting..."),new Error("Too many retries.");let[o,n]=e.github_repository.split("/");try{let{data:a}=await t.finalizeRelease({owner:o,repo:n,release_id:s.id,make_latest:e.input_make_latest,discussion_category_name:e.input_discussion_category_name});return a}catch(a){if(console.warn(`error finalizing release: ${a}`),r&&s.draft&&j_(a)){let A=!1;try{console.log(`\u{1F9F9} Deleting draft release ${s.id} for tag ${s.tag_name} because tag creation is blocked by repository rules...`),await t.deleteRelease({owner:o,repo:n,release_id:s.id}),A=!0}catch(u){console.warn(`error deleting orphan draft release ${s.id}: ${u}`)}let c=A?`Deleted draft release ${s.id} to avoid leaving an orphaned draft release.`:`Failed to delete draft release ${s.id}; manual cleanup may still be required.`;throw new Error(`Tag creation for ${s.tag_name} is blocked by repository rules. ${c}`)}return console.log(`retrying... (${i-1} retries remaining)`),pp(e,t,s,r,i-1)}},gp=async(e,t,s,r=3)=>{if(r<=0)throw console.log("\u274C Too many retries. Aborting..."),new Error("Too many retries.");let[i,o]=e.github_repository.split("/");try{return await t.listReleaseAssets({owner:i,repo:o,release_id:s.id})}catch(n){return console.warn(`error listing assets of release: ${n}`),console.log(`retrying... (${r-1} retries remaining)`),gp(e,t,s,r-1)}};async function Sw(e,t,s,r){try{let{data:i}=await e.getReleaseByTag({owner:t,repo:s,tag:r});return i}catch(i){if(i.status===404)return;throw i}}var O_=1e3,J_=2;async function P_(e){await new Promise(t=>setTimeout(t,e))}async function H_(e,t,s,r){let i=[],o=0;for await(let n of e.allReleases({owner:t,repo:s}))if(i.push(...n.data.filter(a=>a.tag_name===r)),o+=1,o>=J_)break;return i}function V_(e,t){return t&&e.some(s=>s.id===t.id)||e.length===0?t:[...e].sort((s,r)=>s.draft!==r.draft?Number(s.draft)-Number(r.draft):s.id-r.id)[0]}async function q_(e,t,s,r,i,o){let n=Array.from(new Map(o.map(a=>[a.id,a])).values());for(let a of n)if(!(a.id===i||!a.draft||a.assets.length>0))try{console.log(`\u{1F9F9} Removing duplicate draft release ${a.id} for tag ${r}...`),await e.deleteRelease({owner:t,repo:s,release_id:a.id})}catch(A){console.warn(`error deleting duplicate release ${a.id}: ${A}`)}}async function W_(e,t,s,r,i,o){let n=Math.max(o,1);for(let a=1;a<=n;a+=1){let A;try{A=await Sw(e,t,s,r)}catch(l){console.warn(`error reloading release for tag ${r}: ${l}`)}let c=[];try{c=await H_(e,t,s,r)}catch(l){console.warn(`error listing recent releases for tag ${r}: ${l}`)}let u=V_(c,A);if(u)return u.id!==i.id&&console.log(`\u21AA\uFE0F Using release ${u.id} for tag ${r} instead of duplicate draft ${i.id}`),await q_(e,t,s,r,u.id,[i,...c]),u;as==="pre_receive"&&typeof r=="string"&&r.includes("creations being restricted"))}var Uw=require("process");async function z_(){try{let e=Iw(Uw.env);if(!e.input_tag_name&&!fo(e.github_ref)&&!e.input_draft)throw new Error("\u26A0\uFE0F GitHub Releases requires a tag");if(e.input_files){let a=yw(e.input_files,e.input_working_directory);if(a.forEach(A=>{if(e.input_fail_on_unmatched_files)throw new Error(`\u26A0\uFE0F Pattern '${A}' does not match any files.`);console.warn(`\u{1F914} Pattern '${A}' does not match any files.`)}),a.length>0&&e.input_fail_on_unmatched_files)throw new Error("\u26A0\uFE0F There were unmatched files")}let t=KC(e.github_token,{throttle:{onRateLimit:(a,A)=>{if(console.warn(`Request quota exhausted for request ${A.method} ${A.url}`),A.request.retryCount===0)return console.log(`Retrying after ${a} seconds!`),!0},onAbuseLimit:(a,A)=>{console.warn(`Abuse detected for request ${A.method} ${A.url}`)}}}),s=new Za(t),r=await up(e,s),i=r.release,o=r.created,n=new Set;if(e.input_files&&e.input_files.length>0){let a=bw(e.input_files,e.input_working_directory);if(a.length==0){if(e.input_fail_on_unmatched_files)throw new Error(`\u26A0\uFE0F ${e.input_files} does not include a valid file.`);console.warn(`\u{1F914} ${e.input_files} does not include a valid file.`)}let A=i.assets,c=async l=>{let p=await Fw(e,s,Cw(i.upload_url),l,A);return p?p.id:void 0},u;if(!e.input_preserve_order)u=await Promise.all(a.map(c));else{u=[];for(let l of a)u.push(await c(l))}n=new Set(u.filter(l=>l!==void 0))}console.log("Finalizing release..."),i=await pp(e,s,i,o),console.log("Getting assets list...");{let a=[];n.size>0&&(a=(await gp(e,s,i)).filter(c=>n.has(c.id)).map(c=>{let{uploader:u,...l}=c;return l})),eo("assets",a)}console.log(`\u{1F389} Release ready at ${i.html_url}`),eo("url",i.html_url),eo("id",i.id.toString()),eo("upload_url",i.upload_url)}catch(e){tC(e.message)}}z_(); +/*! Bundled license information: + +undici/lib/web/fetch/body.js: + (*! formdata-polyfill. MIT License. Jimmy Wärting *) + +undici/lib/web/websocket/frame.js: + (*! ws. MIT License. Einar Otto Stangvik *) + +mime-db/index.js: + (*! + * mime-db + * Copyright(c) 2014 Jonathan Ong + * Copyright(c) 2015-2022 Douglas Christopher Wilson + * MIT Licensed + *) + +mime-types/index.js: + (*! + * mime-types + * Copyright(c) 2014 Jonathan Ong + * Copyright(c) 2015 Douglas Christopher Wilson + * MIT Licensed + *) + +@octokit/request-error/dist-src/index.js: + (* v8 ignore else -- @preserve -- Bug with vitest coverage where it sees an else branch that doesn't exist *) + +@octokit/request/dist-bundle/index.js: + (* v8 ignore next -- @preserve *) + (* v8 ignore else -- @preserve *) +*/ diff --git a/jest.config.ts b/jest.config.ts deleted file mode 100644 index ab45f76..0000000 --- a/jest.config.ts +++ /dev/null @@ -1,16 +0,0 @@ -import type { JestConfigWithTsJest } from 'ts-jest'; - -const config: JestConfigWithTsJest = { - preset: 'ts-jest/presets/default-esm', - clearMocks: true, - moduleFileExtensions: ['js', 'ts'], - testEnvironment: 'node', - testMatch: ['**/*.test.ts'], - testRunner: 'jest-circus/runner', - transform: { - '^.+\\.ts$': 'ts-jest', - }, - verbose: true, -}; - -export default config; diff --git a/package-lock.json b/package-lock.json index 676d066..75827de 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,533 +1,125 @@ { "name": "action-gh-release", - "version": "2.2.0", + "version": "3.0.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "action-gh-release", - "version": "2.2.0", + "version": "3.0.0", "dependencies": { - "@actions/core": "^1.11.1", - "@actions/github": "^6.0.0", - "@octokit/plugin-retry": "^7.1.2", - "@octokit/plugin-throttling": "^9.3.2", - "glob": "^11.0.0", - "mime": "^3.0.0" + "@actions/core": "^3.0.1", + "@actions/github": "^9.1.1", + "@octokit/plugin-retry": "^8.1.0", + "@octokit/plugin-throttling": "^11.0.3", + "glob": "^13.0.6", + "mime-types": "^3.0.2" }, "devDependencies": { - "@types/glob": "^8.1.0", - "@types/jest": "^29.5.14", - "@types/mime": "^3.0.1", - "@types/node": "^22.10.1", - "@vercel/ncc": "^0.38.3", - "jest": "^29.3.1", - "jest-circus": "^29.3.1", - "prettier": "3.4.2", - "ts-jest": "^29.2.5", + "@types/glob": "^9.0.0", + "@types/mime-types": "^3.0.1", + "@types/node": "^24", + "@vitest/coverage-v8": "^4.1.6", + "esbuild": "^0.28.0", + "prettier": "3.8.3", "ts-node": "^10.9.2", - "typescript": "^5.7.2", - "typescript-formatter": "^7.2.2" + "typescript": "^6.0.3", + "typescript-formatter": "^7.2.2", + "vitest": "^4.0.4" + }, + "engines": { + "node": ">=24" } }, "node_modules/@actions/core": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.11.1.tgz", - "integrity": "sha512-hXJCSrkwfA46Vd9Z3q4cpEpHB1rL5NG04+/rbqW9d3+CSvtB1tYe8UTpAlixa1vj0m/ULglfEK2UKxMGxCxv5A==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@actions/core/-/core-3.0.1.tgz", + "integrity": "sha512-a6d/Nwahm9fliVGRhdhofo40HjHQasUPusmc7vBfyky+7Z+P2A1J68zyFVaNcEclc/Se+eO595oAr5nwEIoIUA==", + "license": "MIT", "dependencies": { - "@actions/exec": "^1.1.1", - "@actions/http-client": "^2.0.1" + "@actions/exec": "^3.0.0", + "@actions/http-client": "^4.0.0" + } + }, + "node_modules/@actions/core/node_modules/@actions/http-client": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-4.0.0.tgz", + "integrity": "sha512-QuwPsgVMsD6qaPD57GLZi9sqzAZCtiJT8kVBCDpLtxhL5MydQ4gS+DrejtZZPdIYyB1e95uCK9Luyds7ybHI3g==", + "license": "MIT", + "dependencies": { + "tunnel": "^0.0.6", + "undici": "^6.23.0" } }, "node_modules/@actions/exec": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@actions/exec/-/exec-1.1.1.tgz", - "integrity": "sha512-+sCcHHbVdk93a0XT19ECtO/gIXoxvdsgQLzb2fE2/5sIZmWQuluYyjPQtrtTHdU1YzTZ7bAPN4sITq2xi1679w==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@actions/exec/-/exec-3.0.0.tgz", + "integrity": "sha512-6xH/puSoNBXb72VPlZVm7vQ+svQpFyA96qdDBvhB8eNZOE8LtPf9L4oAsfzK/crCL8YZ+19fKYVnM63Sl+Xzlw==", + "license": "MIT", "dependencies": { - "@actions/io": "^1.0.1" + "@actions/io": "^3.0.2" } }, "node_modules/@actions/github": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@actions/github/-/github-6.0.0.tgz", - "integrity": "sha512-alScpSVnYmjNEXboZjarjukQEzgCRmjMv6Xj47fsdnqGS73bjJNDpiiXmp8jr0UZLdUB6d9jW63IcmddUP+l0g==", + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/@actions/github/-/github-9.1.1.tgz", + "integrity": "sha512-tL5JbYOBZHc0ngEnCsaDcryUizIUIlQyIMwy1Wkx93H5HzbBJ7TbiPx2PnFjBwZW0Vh05JmfFZhecE6gglYegA==", + "license": "MIT", "dependencies": { - "@actions/http-client": "^2.2.0", - "@octokit/core": "^5.0.1", - "@octokit/plugin-paginate-rest": "^9.0.0", - "@octokit/plugin-rest-endpoint-methods": "^10.0.0" - } - }, - "node_modules/@actions/github/node_modules/@octokit/auth-token": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-4.0.0.tgz", - "integrity": "sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA==", - "engines": { - "node": ">= 18" - } - }, - "node_modules/@actions/github/node_modules/@octokit/core": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@octokit/core/-/core-5.2.0.tgz", - "integrity": "sha512-1LFfa/qnMQvEOAdzlQymH0ulepxbxnCYAKJZfMci/5XJyIHWgEYnDmgnKakbTh7CH2tFQ5O60oYDvns4i9RAIg==", - "dependencies": { - "@octokit/auth-token": "^4.0.0", - "@octokit/graphql": "^7.1.0", - "@octokit/request": "^8.3.1", - "@octokit/request-error": "^5.1.0", - "@octokit/types": "^13.0.0", - "before-after-hook": "^2.2.0", - "universal-user-agent": "^6.0.0" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/@actions/github/node_modules/@octokit/endpoint": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-9.0.5.tgz", - "integrity": "sha512-ekqR4/+PCLkEBF6qgj8WqJfvDq65RH85OAgrtnVp1mSxaXF03u2xW/hUdweGS5654IlC0wkNYC18Z50tSYTAFw==", - "dependencies": { - "@octokit/types": "^13.1.0", - "universal-user-agent": "^6.0.0" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/@actions/github/node_modules/@octokit/graphql": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-7.1.0.tgz", - "integrity": "sha512-r+oZUH7aMFui1ypZnAvZmn0KSqAUgE1/tUXIWaqUCa1758ts/Jio84GZuzsvUkme98kv0WFY8//n0J1Z+vsIsQ==", - "dependencies": { - "@octokit/request": "^8.3.0", - "@octokit/types": "^13.0.0", - "universal-user-agent": "^6.0.0" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/@actions/github/node_modules/@octokit/openapi-types": { - "version": "20.0.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-20.0.0.tgz", - "integrity": "sha512-EtqRBEjp1dL/15V7WiX5LJMIxxkdiGJnabzYx5Apx4FkQIFgAfKumXeYAqqJCj1s+BMX4cPFIFC4OLCR6stlnA==" - }, - "node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-9.2.1.tgz", - "integrity": "sha512-wfGhE/TAkXZRLjksFXuDZdmGnJQHvtU/joFQdweXUgzo1XwvBCD4o4+75NtFfjfLK5IwLf9vHTfSiU3sLRYpRw==", - "dependencies": { - "@octokit/types": "^12.6.0" - }, - "engines": { - "node": ">= 18" - }, - "peerDependencies": { - "@octokit/core": "5" - } - }, - "node_modules/@actions/github/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types": { - "version": "12.6.0", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-12.6.0.tgz", - "integrity": "sha512-1rhSOfRa6H9w4YwK0yrf5faDaDTb+yLyBUKOCV4xtCDB5VmIPqd/v9yr9o6SAzOAlRxMiRiCic6JVM1/kunVkw==", - "dependencies": { - "@octokit/openapi-types": "^20.0.0" - } - }, - "node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods": { - "version": "10.4.1", - "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-10.4.1.tgz", - "integrity": "sha512-xV1b+ceKV9KytQe3zCVqjg+8GTGfDYwaT1ATU5isiUyVtlVAO3HNdzpS4sr4GBx4hxQ46s7ITtZrAsxG22+rVg==", - "dependencies": { - "@octokit/types": "^12.6.0" - }, - "engines": { - "node": ">= 18" - }, - "peerDependencies": { - "@octokit/core": "5" - } - }, - "node_modules/@actions/github/node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types": { - "version": "12.6.0", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-12.6.0.tgz", - "integrity": "sha512-1rhSOfRa6H9w4YwK0yrf5faDaDTb+yLyBUKOCV4xtCDB5VmIPqd/v9yr9o6SAzOAlRxMiRiCic6JVM1/kunVkw==", - "dependencies": { - "@octokit/openapi-types": "^20.0.0" - } - }, - "node_modules/@actions/github/node_modules/@octokit/request": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-8.4.0.tgz", - "integrity": "sha512-9Bb014e+m2TgBeEJGEbdplMVWwPmL1FPtggHQRkV+WVsMggPtEkLKPlcVYm/o8xKLkpJ7B+6N8WfQMtDLX2Dpw==", - "dependencies": { - "@octokit/endpoint": "^9.0.1", - "@octokit/request-error": "^5.1.0", - "@octokit/types": "^13.1.0", - "universal-user-agent": "^6.0.0" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/@actions/github/node_modules/@octokit/request-error": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-5.1.0.tgz", - "integrity": "sha512-GETXfE05J0+7H2STzekpKObFe765O5dlAKUTLNGeH+x47z7JjXHfsHKo5z21D/o/IOZTUEI6nyWyR+bZVP/n5Q==", - "dependencies": { - "@octokit/types": "^13.1.0", - "deprecation": "^2.0.0", - "once": "^1.4.0" - }, - "engines": { - "node": ">= 18" + "@actions/http-client": "^3.0.2", + "@octokit/core": "^7.0.6", + "@octokit/plugin-paginate-rest": "^14.0.0", + "@octokit/plugin-rest-endpoint-methods": "^17.0.0", + "@octokit/request": "^10.0.7", + "@octokit/request-error": "^7.1.0", + "undici": "^6.23.0" } }, "node_modules/@actions/http-client": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.2.1.tgz", - "integrity": "sha512-KhC/cZsq7f8I4LfZSJKgCvEwfkE8o1538VoBeoGzokVLLnbFDEAdFD3UhoMklxo2un9NJVBdANOresx7vTHlHw==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-3.0.2.tgz", + "integrity": "sha512-JP38FYYpyqvUsz+Igqlc/JG6YO9PaKuvqjM3iGvaLqFnJ7TFmcLyy2IDrY0bI0qCQug8E9K+elv5ZNfw62ZJzA==", + "license": "MIT", "dependencies": { "tunnel": "^0.0.6", - "undici": "^5.25.4" + "undici": "^6.23.0" } }, "node_modules/@actions/io": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@actions/io/-/io-1.1.3.tgz", - "integrity": "sha512-wi9JjgKLYS7U/z8PPbco+PvTb/nRWjeoFlJ1Qer83k/3C5PHQi28hiVdeE2kHXmIL99mQFawx8qt/JPjZilJ8Q==" - }, - "node_modules/@ampproject/remapping": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", - "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", - "dev": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz", - "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==", - "dev": true, - "dependencies": { - "@babel/highlight": "^7.24.7", - "picocolors": "^1.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.7.tgz", - "integrity": "sha512-qJzAIcv03PyaWqxRgO4mSU3lihncDT296vnyuE2O8uA4w3UHWI4S3hgeZd1L8W1Bft40w9JxJ2b412iDUFFRhw==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.7.tgz", - "integrity": "sha512-nykK+LEK86ahTkX/3TgauT0ikKoNCfKHEaZYTUVupJdTLzGNvrblu4u6fa7DhZONAltdf8e662t/abY8idrd/g==", - "dev": true, - "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.24.7", - "@babel/generator": "^7.24.7", - "@babel/helper-compilation-targets": "^7.24.7", - "@babel/helper-module-transforms": "^7.24.7", - "@babel/helpers": "^7.24.7", - "@babel/parser": "^7.24.7", - "@babel/template": "^7.24.7", - "@babel/traverse": "^7.24.7", - "@babel/types": "^7.24.7", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/generator": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.7.tgz", - "integrity": "sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.24.7", - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25", - "jsesc": "^2.5.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.24.7.tgz", - "integrity": "sha512-ctSdRHBi20qWOfy27RUb4Fhp07KSJ3sXcuSvTrXrc4aG8NSYDo1ici3Vhg9bg69y5bj0Mr1lh0aeEgTvc12rMg==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.24.7", - "@babel/helper-validator-option": "^7.24.7", - "browserslist": "^4.22.2", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.7.tgz", - "integrity": "sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==", - "dev": true, - "dependencies": { - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.24.7.tgz", - "integrity": "sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==", - "dev": true, - "dependencies": { - "@babel/template": "^7.24.7", - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.7.tgz", - "integrity": "sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==", - "dev": true, - "dependencies": { - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz", - "integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==", - "dev": true, - "dependencies": { - "@babel/traverse": "^7.24.7", - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.24.7.tgz", - "integrity": "sha512-1fuJEwIrp+97rM4RWdO+qrRsZlAeL1lQJoPqtCYWv0NL115XM93hIH4CSRln2w52SqvmY5hqdtauB6QFCDiZNQ==", - "dev": true, - "dependencies": { - "@babel/helper-environment-visitor": "^7.24.7", - "@babel/helper-module-imports": "^7.24.7", - "@babel/helper-simple-access": "^7.24.7", - "@babel/helper-split-export-declaration": "^7.24.7", - "@babel/helper-validator-identifier": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.7.tgz", - "integrity": "sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-simple-access": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz", - "integrity": "sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==", - "dev": true, - "dependencies": { - "@babel/traverse": "^7.24.7", - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz", - "integrity": "sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@actions/io/-/io-3.0.2.tgz", + "integrity": "sha512-nRBchcMM+QK1pdjO7/idu86rbJI5YHUKCvKs0KxnSYbVe3F51UfGxuZX4Qy/fWlp6l7gWFwIkrOzN+oUK03kfw==", + "license": "MIT" }, "node_modules/@babel/helper-string-parser": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.7.tgz", - "integrity": "sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", - "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/helper-validator-option": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.7.tgz", - "integrity": "sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.7.tgz", - "integrity": "sha512-NlmJJtvcw72yRJRcnCmGvSi+3jDEg8qFu3z0AFoymmzLx5ERVWyzd9kVXr7Th9/8yIJi2Zc6av4Tqz3wFs8QWg==", - "dev": true, - "dependencies": { - "@babel/template": "^7.24.7", - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz", - "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==", - "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.24.7", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0", - "picocolors": "^1.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@babel/highlight/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "node_modules/@babel/highlight/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/@babel/highlight/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/@babel/parser": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.7.tgz", - "integrity": "sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.0.tgz", + "integrity": "sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==", "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.29.0" + }, "bin": { "parser": "bin/babel-parser.js" }, @@ -535,238 +127,20 @@ "node": ">=6.0.0" } }, - "node_modules/@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-bigint": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", - "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.7.tgz", - "integrity": "sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.7.tgz", - "integrity": "sha512-c/+fVeJBB0FeKsFvwytYiUD+LBvhHjGSI0g446PRGdSVGZLRNArBUno2PETbAly3tpiNAQR5XaZ+JslxkotsbA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/template": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.7.tgz", - "integrity": "sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.24.7", - "@babel/parser": "^7.24.7", - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.7.tgz", - "integrity": "sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.24.7", - "@babel/generator": "^7.24.7", - "@babel/helper-environment-visitor": "^7.24.7", - "@babel/helper-function-name": "^7.24.7", - "@babel/helper-hoist-variables": "^7.24.7", - "@babel/helper-split-export-declaration": "^7.24.7", - "@babel/parser": "^7.24.7", - "@babel/types": "^7.24.7", - "debug": "^4.3.1", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/types": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.7.tgz", - "integrity": "sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", + "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-string-parser": "^7.24.7", - "@babel/helper-validator-identifier": "^7.24.7", - "to-fast-properties": "^2.0.0" + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@bcoe/v8-coverage": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", - "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", - "dev": true - }, "node_modules/@cspotcode/source-map-support": { "version": "0.8.1", "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", @@ -789,461 +163,480 @@ "@jridgewell/sourcemap-codec": "^1.4.10" } }, - "node_modules/@fastify/busboy": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.1.tgz", - "integrity": "sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==", - "engines": { - "node": ">=14" - } - }, - "node_modules/@isaacs/cliui": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", - "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", - "dependencies": { - "string-width": "^5.1.2", - "string-width-cjs": "npm:string-width@^4.2.0", - "strip-ansi": "^7.0.1", - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", - "wrap-ansi": "^8.1.0", - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@isaacs/cliui/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/@isaacs/cliui/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@isaacs/cliui/node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" - }, - "node_modules/@isaacs/cliui/node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@isaacs/cliui/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", - "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "node_modules/@emnapi/core": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.10.0.tgz", + "integrity": "sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==", "dev": true, + "license": "MIT", + "optional": true, "dependencies": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" + "@emnapi/wasi-threads": "1.2.1", + "tslib": "^2.4.0" } }, - "node_modules/@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "node_modules/@emnapi/runtime": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.10.0.tgz", + "integrity": "sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==", "dev": true, - "engines": { - "node": ">=8" + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" } }, - "node_modules/@jest/console": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz", - "integrity": "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==", + "node_modules/@emnapi/wasi-threads": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.1.tgz", + "integrity": "sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==", "dev": true, + "license": "MIT", + "optional": true, "dependencies": { - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^29.7.0", - "jest-util": "^29.7.0", - "slash": "^3.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "tslib": "^2.4.0" } }, - "node_modules/@jest/core": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz", - "integrity": "sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==", + "node_modules/@esbuild/aix-ppc64": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.28.0.tgz", + "integrity": "sha512-lhRUCeuOyJQURhTxl4WkpFTjIsbDayJHih5kZC1giwE+MhIzAb7mEsQMqMf18rHLsrb5qI1tafG20mLxEWcWlA==", + "cpu": [ + "ppc64" + ], "dev": true, - "dependencies": { - "@jest/console": "^29.7.0", - "@jest/reporters": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-changed-files": "^29.7.0", - "jest-config": "^29.7.0", - "jest-haste-map": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-regex-util": "^29.6.3", - "jest-resolve": "^29.7.0", - "jest-resolve-dependencies": "^29.7.0", - "jest-runner": "^29.7.0", - "jest-runtime": "^29.7.0", - "jest-snapshot": "^29.7.0", - "jest-util": "^29.7.0", - "jest-validate": "^29.7.0", - "jest-watcher": "^29.7.0", - "micromatch": "^4.0.4", - "pretty-format": "^29.7.0", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" - }, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } + "node": ">=18" } }, - "node_modules/@jest/environment": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", - "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==", + "node_modules/@esbuild/android-arm": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.28.0.tgz", + "integrity": "sha512-wqh0ByljabXLKHeWXYLqoJ5jKC4XBaw6Hk08OfMrCRd2nP2ZQ5eleDZC41XHyCNgktBGYMbqnrJKq/K/lzPMSQ==", + "cpu": [ + "arm" + ], "dev": true, - "dependencies": { - "@jest/fake-timers": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "jest-mock": "^29.7.0" - }, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=18" } }, - "node_modules/@jest/expect": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz", - "integrity": "sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==", + "node_modules/@esbuild/android-arm64": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.28.0.tgz", + "integrity": "sha512-+WzIXQOSaGs33tLEgYPYe/yQHf0WTU0X42Jca3y8NWMbUVhp7rUnw+vAsRC/QiDrdD31IszMrZy+qwPOPjd+rw==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "expect": "^29.7.0", - "jest-snapshot": "^29.7.0" - }, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=18" } }, - "node_modules/@jest/expect-utils": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz", - "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==", + "node_modules/@esbuild/android-x64": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.28.0.tgz", + "integrity": "sha512-+VJggoaKhk2VNNqVL7f6S189UzShHC/mR9EE8rDdSkdpN0KflSwWY/gWjDrNxxisg8Fp1ZCD9jLMo4m0OUfeUA==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "jest-get-type": "^29.6.3" - }, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=18" } }, - "node_modules/@jest/fake-timers": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", - "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", + "node_modules/@esbuild/darwin-arm64": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.28.0.tgz", + "integrity": "sha512-0T+A9WZm+bZ84nZBtk1ckYsOvyA3x7e2Acj1KdVfV4/2tdG4fzUp91YHx+GArWLtwqp77pBXVCPn2We7Letr0Q==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "@jest/types": "^29.6.3", - "@sinonjs/fake-timers": "^10.0.2", - "@types/node": "*", - "jest-message-util": "^29.7.0", - "jest-mock": "^29.7.0", - "jest-util": "^29.7.0" - }, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=18" } }, - "node_modules/@jest/globals": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz", - "integrity": "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==", + "node_modules/@esbuild/darwin-x64": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.28.0.tgz", + "integrity": "sha512-fyzLm/DLDl/84OCfp2f/XQ4flmORsjU7VKt8HLjvIXChJoFFOIL6pLJPH4Yhd1n1gGFF9mPwtlN5Wf82DZs+LQ==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "@jest/environment": "^29.7.0", - "@jest/expect": "^29.7.0", - "@jest/types": "^29.6.3", - "jest-mock": "^29.7.0" - }, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=18" } }, - "node_modules/@jest/reporters": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz", - "integrity": "sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==", + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.28.0.tgz", + "integrity": "sha512-l9GeW5UZBT9k9brBYI+0WDffcRxgHQD8ShN2Ur4xWq/NFzUKm3k5lsH4PdaRgb2w7mI9u61nr2gI2mLI27Nh3Q==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "@jridgewell/trace-mapping": "^0.3.18", - "@types/node": "*", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^6.0.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.1.3", - "jest-message-util": "^29.7.0", - "jest-util": "^29.7.0", - "jest-worker": "^29.7.0", - "slash": "^3.0.0", - "string-length": "^4.0.1", - "strip-ansi": "^6.0.0", - "v8-to-istanbul": "^9.0.1" - }, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } + "node": ">=18" } }, - "node_modules/@jest/reporters/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "node_modules/@esbuild/freebsd-x64": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.28.0.tgz", + "integrity": "sha512-BXoQai/A0wPO6Es3yFJ7APCiKGc1tdAEOgeTNy3SsB491S3aHn4S4r3e976eUnPdU+NbdtmBuLncYir2tMU9Nw==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" } }, - "node_modules/@jest/reporters/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Glob versions prior to v9 are no longer supported", + "node_modules/@esbuild/linux-arm": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.28.0.tgz", + "integrity": "sha512-CjaaREJagqJp7iTaNQjjidaNbCKYcd4IDkzbwwxtSvjI7NZm79qiHc8HqciMddQ6CKvJT6aBd8lO9kN/ZudLlw==", + "cpu": [ + "arm" + ], "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=18" } }, - "node_modules/@jest/reporters/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "node_modules/@esbuild/linux-arm64": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.28.0.tgz", + "integrity": "sha512-RVyzfb3FWsGA55n6WY0MEIEPURL1FcbhFE6BffZEMEekfCzCIMtB5yyDcFnVbTnwk+CLAgTujmV/Lgvih56W+A==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": "*" + "node": ">=18" } }, - "node_modules/@jest/schemas": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", - "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "node_modules/@esbuild/linux-ia32": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.28.0.tgz", + "integrity": "sha512-KBnSTt1kxl9x70q+ydterVdl+Cn0H18ngRMRCEQfrbqdUuntQQ0LoMZv47uB97NljZFzY6HcfqEZ2SAyIUTQBQ==", + "cpu": [ + "ia32" + ], "dev": true, - "dependencies": { - "@sinclair/typebox": "^0.27.8" - }, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=18" } }, - "node_modules/@jest/source-map": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz", - "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==", + "node_modules/@esbuild/linux-loong64": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.28.0.tgz", + "integrity": "sha512-zpSlUce1mnxzgBADvxKXX5sl8aYQHo2ezvMNI8I0lbblJtp8V4odlm3Yzlj7gPyt3T8ReksE6bK+pT3WD+aJRg==", + "cpu": [ + "loong64" + ], "dev": true, - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.18", - "callsites": "^3.0.0", - "graceful-fs": "^4.2.9" - }, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=18" } }, - "node_modules/@jest/test-result": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz", - "integrity": "sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==", + "node_modules/@esbuild/linux-mips64el": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.28.0.tgz", + "integrity": "sha512-2jIfP6mmjkdmeTlsX/9vmdmhBmKADrWqN7zcdtHIeNSCH1SqIoNI63cYsjQR8J+wGa4Y5izRcSHSm8K3QWmk3w==", + "cpu": [ + "mips64el" + ], "dev": true, - "dependencies": { - "@jest/console": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - }, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=18" } }, - "node_modules/@jest/test-sequencer": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz", - "integrity": "sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==", + "node_modules/@esbuild/linux-ppc64": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.28.0.tgz", + "integrity": "sha512-bc0FE9wWeC0WBm49IQMPSPILRocGTQt3j5KPCA8os6VprfuJ7KD+5PzESSrJ6GmPIPJK965ZJHTUlSA6GNYEhg==", + "cpu": [ + "ppc64" + ], "dev": true, - "dependencies": { - "@jest/test-result": "^29.7.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.7.0", - "slash": "^3.0.0" - }, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=18" } }, - "node_modules/@jest/transform": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", - "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", + "node_modules/@esbuild/linux-riscv64": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.28.0.tgz", + "integrity": "sha512-SQPZOwoTTT/HXFXQJG/vBX8sOFagGqvZyXcgLA3NhIqcBv1BJU1d46c0rGcrij2B56Z2rNiSLaZOYW5cUk7yLQ==", + "cpu": [ + "riscv64" + ], "dev": true, - "dependencies": { - "@babel/core": "^7.11.6", - "@jest/types": "^29.6.3", - "@jridgewell/trace-mapping": "^0.3.18", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^2.0.0", - "fast-json-stable-stringify": "^2.1.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.7.0", - "jest-regex-util": "^29.6.3", - "jest-util": "^29.7.0", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "write-file-atomic": "^4.0.2" - }, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=18" } }, - "node_modules/@jest/types": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", - "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "node_modules/@esbuild/linux-s390x": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.28.0.tgz", + "integrity": "sha512-SCfR0HN8CEEjnYnySJTd2cw0k9OHB/YFzt5zgJEwa+wL/T/raGWYMBqwDNAC6dqFKmJYZoQBRfHjgwLHGSrn3Q==", + "cpu": [ + "s390x" + ], "dev": true, - "dependencies": { - "@jest/schemas": "^29.6.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" - }, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=18" } }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", - "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "node_modules/@esbuild/linux-x64": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.28.0.tgz", + "integrity": "sha512-us0dSb9iFxIi8srnpl931Nvs65it/Jd2a2K3qs7fz2WfGPHqzfzZTfec7oxZJRNPXPnNYZtanmRc4AL/JwVzHQ==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "@jridgewell/set-array": "^1.2.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.24" - }, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.0.0" + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.28.0.tgz", + "integrity": "sha512-CR/RYotgtCKwtftMwJlUU7xCVNg3lMYZ0RzTmAHSfLCXw3NtZtNpswLEj/Kkf6kEL3Gw+BpOekRX0BYCtklhUw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.28.0.tgz", + "integrity": "sha512-nU1yhmYutL+fQ71Kxnhg8uEOdC0pwEW9entHykTgEbna2pw2dkbFSMeqjjyHZoCmt8SBkOSvV+yNmm94aUrrqw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.28.0.tgz", + "integrity": "sha512-cXb5vApOsRsxsEl4mcZ1XY3D4DzcoMxR/nnc4IyqYs0rTI8ZKmW6kyyg+11Z8yvgMfAEldKzP7AdP64HnSC/6g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.28.0.tgz", + "integrity": "sha512-8wZM2qqtv9UP3mzy7HiGYNH/zjTA355mpeuA+859TyR+e+Tc08IHYpLJuMsfpDJwoLo1ikIJI8jC3GFjnRClzA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.28.0.tgz", + "integrity": "sha512-FLGfyizszcef5C3YtoyQDACyg95+dndv79i2EekILBofh5wpCa1KuBqOWKrEHZg3zrL3t5ouE5jgr94vA+Wb2w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.28.0.tgz", + "integrity": "sha512-1ZgjUoEdHZZl/YlV76TSCz9Hqj9h9YmMGAgAPYd+q4SicWNX3G5GCyx9uhQWSLcbvPW8Ni7lj4gDa1T40akdlw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.28.0.tgz", + "integrity": "sha512-Q9StnDmQ/enxnpxCCLSg0oo4+34B9TdXpuyPeTedN/6+iXBJ4J+zwfQI28u/Jl40nOYAxGoNi7mFP40RUtkmUA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.28.0.tgz", + "integrity": "sha512-zF3ag/gfiCe6U2iczcRzSYJKH1DCI+ByzSENHlM2FcDbEeo5Zd2C86Aq0tKUYAJJ1obRP84ymxIAksZUcdztHA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.28.0.tgz", + "integrity": "sha512-pEl1bO9mfAmIC+tW5btTmrKaujg3zGtUmWNdCw/xs70FBjwAL3o9OEKNHvNmnyylD6ubxUERiEhdsL0xBQ9efw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" } }, "node_modules/@jridgewell/resolve-uri": { @@ -1255,218 +648,491 @@ "node": ">=6.0.0" } }, - "node_modules/@jridgewell/set-array": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", - "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", - "dev": true + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "dev": true, + "license": "MIT" }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.25", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", - "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", "dev": true, + "license": "MIT", "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" } }, + "node_modules/@napi-rs/wasm-runtime": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.4.tgz", + "integrity": "sha512-3NQNNgA1YSlJb/kMH1ildASP9HW7/7kYnRI2szWJaofaS1hWmbGI4H+d3+22aGzXXN9IJ+n+GiFVcGipJP18ow==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@tybys/wasm-util": "^0.10.1" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "peerDependencies": { + "@emnapi/core": "^1.7.1", + "@emnapi/runtime": "^1.7.1" + } + }, "node_modules/@octokit/auth-token": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-5.1.1.tgz", - "integrity": "sha512-rh3G3wDO8J9wSjfI436JUKzHIxq8NaiL0tVeB2aXmG6p/9859aUOAjA9pmSPNGGZxfwmaJ9ozOJImuNVJdpvbA==", - "peer": true, + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-6.0.0.tgz", + "integrity": "sha512-P4YJBPdPSpWTQ1NU4XYdvHvXJJDxM6YwpS0FZHRgP7YFkdVxsWcpWGy/NVqlAA7PcPCnMacXlRm1y2PFZRWL/w==", + "license": "MIT", "engines": { - "node": ">= 18" + "node": ">= 20" } }, "node_modules/@octokit/core": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/@octokit/core/-/core-6.1.2.tgz", - "integrity": "sha512-hEb7Ma4cGJGEUNOAVmyfdB/3WirWMg5hDuNFVejGEDFqupeOysLc2sG6HJxY2etBp5YQu5Wtxwi020jS9xlUwg==", - "peer": true, + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-7.0.6.tgz", + "integrity": "sha512-DhGl4xMVFGVIyMwswXeyzdL4uXD5OGILGX5N8Y+f6W7LhC1Ze2poSNrkF/fedpVDHEEZ+PHFW0vL14I+mm8K3Q==", + "license": "MIT", "dependencies": { - "@octokit/auth-token": "^5.0.0", - "@octokit/graphql": "^8.0.0", - "@octokit/request": "^9.0.0", - "@octokit/request-error": "^6.0.1", - "@octokit/types": "^13.0.0", - "before-after-hook": "^3.0.2", + "@octokit/auth-token": "^6.0.0", + "@octokit/graphql": "^9.0.3", + "@octokit/request": "^10.0.6", + "@octokit/request-error": "^7.0.2", + "@octokit/types": "^16.0.0", + "before-after-hook": "^4.0.0", "universal-user-agent": "^7.0.0" }, "engines": { - "node": ">= 18" + "node": ">= 20" } }, "node_modules/@octokit/core/node_modules/before-after-hook": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-3.0.2.tgz", - "integrity": "sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A==", - "peer": true - }, - "node_modules/@octokit/core/node_modules/universal-user-agent": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.2.tgz", - "integrity": "sha512-0JCqzSKnStlRRQfCdowvqy3cy0Dvtlb8xecj/H8JFZuCze4rwjPZQOgvFvn0Ws/usCHQFGpyr+pB9adaGwXn4Q==", - "peer": true + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-4.0.0.tgz", + "integrity": "sha512-q6tR3RPqIB1pMiTRMFcZwuG5T8vwp+vUvEG0vuI6B+Rikh5BfPp2fQ82c925FOs+b0lcFQ8CFrL+KbilfZFhOQ==", + "license": "Apache-2.0" }, "node_modules/@octokit/endpoint": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-10.1.1.tgz", - "integrity": "sha512-JYjh5rMOwXMJyUpj028cu0Gbp7qe/ihxfJMLc8VZBMMqSwLgOxDI1911gV4Enl1QSavAQNJcwmwBF9M0VvLh6Q==", - "peer": true, + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-11.0.3.tgz", + "integrity": "sha512-FWFlNxghg4HrXkD3ifYbS/IdL/mDHjh9QcsNyhQjN8dplUoZbejsdpmuqdA76nxj2xoWPs7p8uX2SNr9rYu0Ag==", + "license": "MIT", "dependencies": { - "@octokit/types": "^13.0.0", + "@octokit/types": "^16.0.0", "universal-user-agent": "^7.0.2" }, "engines": { - "node": ">= 18" + "node": ">= 20" } }, - "node_modules/@octokit/endpoint/node_modules/universal-user-agent": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.2.tgz", - "integrity": "sha512-0JCqzSKnStlRRQfCdowvqy3cy0Dvtlb8xecj/H8JFZuCze4rwjPZQOgvFvn0Ws/usCHQFGpyr+pB9adaGwXn4Q==", - "peer": true - }, "node_modules/@octokit/graphql": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-8.1.1.tgz", - "integrity": "sha512-ukiRmuHTi6ebQx/HFRCXKbDlOh/7xEV6QUXaE7MJEKGNAncGI/STSbOkl12qVXZrfZdpXctx5O9X1AIaebiDBg==", - "peer": true, + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-9.0.3.tgz", + "integrity": "sha512-grAEuupr/C1rALFnXTv6ZQhFuL1D8G5y8CN04RgrO4FIPMrtm+mcZzFG7dcBm+nq+1ppNixu+Jd78aeJOYxlGA==", + "license": "MIT", "dependencies": { - "@octokit/request": "^9.0.0", - "@octokit/types": "^13.0.0", + "@octokit/request": "^10.0.6", + "@octokit/types": "^16.0.0", "universal-user-agent": "^7.0.0" }, "engines": { - "node": ">= 18" + "node": ">= 20" } }, - "node_modules/@octokit/graphql/node_modules/universal-user-agent": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.2.tgz", - "integrity": "sha512-0JCqzSKnStlRRQfCdowvqy3cy0Dvtlb8xecj/H8JFZuCze4rwjPZQOgvFvn0Ws/usCHQFGpyr+pB9adaGwXn4Q==", - "peer": true - }, "node_modules/@octokit/openapi-types": { - "version": "22.2.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-22.2.0.tgz", - "integrity": "sha512-QBhVjcUa9W7Wwhm6DBFu6ZZ+1/t/oYxqc2tp81Pi41YNuJinbFRx8B133qVOrAaBbF7D/m0Et6f9/pZt9Rc+tg==" + "version": "27.0.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-27.0.0.tgz", + "integrity": "sha512-whrdktVs1h6gtR+09+QsNk2+FO+49j6ga1c55YZudfEG+oKJVvJLQi3zkOm5JjiUXAagWK2tI2kTGKJ2Ys7MGA==", + "license": "MIT" }, - "node_modules/@octokit/plugin-retry": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/@octokit/plugin-retry/-/plugin-retry-7.1.2.tgz", - "integrity": "sha512-XOWnPpH2kJ5VTwozsxGurw+svB2e61aWlmk5EVIYZPwFK5F9h4cyPyj9CIKRyMXMHSwpIsI3mPOdpMmrRhe7UQ==", + "node_modules/@octokit/plugin-paginate-rest": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-14.0.0.tgz", + "integrity": "sha512-fNVRE7ufJiAA3XUrha2omTA39M6IXIc6GIZLvlbsm8QOQCYvpq/LkMNGyFlB1d8hTDzsAXa3OKtybdMAYsV/fw==", + "license": "MIT", "dependencies": { - "@octokit/request-error": "^6.0.0", - "@octokit/types": "^13.0.0", - "bottleneck": "^2.15.3" + "@octokit/types": "^16.0.0" }, "engines": { - "node": ">= 18" + "node": ">= 20" }, "peerDependencies": { "@octokit/core": ">=6" } }, - "node_modules/@octokit/plugin-throttling": { - "version": "9.3.2", - "resolved": "https://registry.npmjs.org/@octokit/plugin-throttling/-/plugin-throttling-9.3.2.tgz", - "integrity": "sha512-FqpvcTpIWFpMMwIeSoypoJXysSAQ3R+ALJhXXSG1HTP3YZOIeLmcNcimKaXxTcws+Sh6yoRl13SJ5r8sXc1Fhw==", + "node_modules/@octokit/plugin-rest-endpoint-methods": { + "version": "17.0.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-17.0.0.tgz", + "integrity": "sha512-B5yCyIlOJFPqUUeiD0cnBJwWJO8lkJs5d8+ze9QDP6SvfiXSz1BF+91+0MeI1d2yxgOhU/O+CvtiZ9jSkHhFAw==", + "license": "MIT", "dependencies": { - "@octokit/types": "^13.0.0", + "@octokit/types": "^16.0.0" + }, + "engines": { + "node": ">= 20" + }, + "peerDependencies": { + "@octokit/core": ">=6" + } + }, + "node_modules/@octokit/plugin-retry": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-retry/-/plugin-retry-8.1.0.tgz", + "integrity": "sha512-O1FZgXeiGb2sowEr/hYTr6YunGdSAFWnr2fyW39Ah85H8O33ELASQxcvOFF5LE6Tjekcyu2ms4qAzJVhSaJxTw==", + "license": "MIT", + "dependencies": { + "@octokit/request-error": "^7.0.2", + "@octokit/types": "^16.0.0", "bottleneck": "^2.15.3" }, "engines": { - "node": ">= 18" + "node": ">= 20" }, "peerDependencies": { - "@octokit/core": "^6.0.0" + "@octokit/core": ">=7" + } + }, + "node_modules/@octokit/plugin-throttling": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/@octokit/plugin-throttling/-/plugin-throttling-11.0.3.tgz", + "integrity": "sha512-34eE0RkFCKycLl2D2kq7W+LovheM/ex3AwZCYN8udpi6bxsyjZidb2McXs69hZhLmJlDqTSP8cH+jSRpiaijBg==", + "license": "MIT", + "dependencies": { + "@octokit/types": "^16.0.0", + "bottleneck": "^2.15.3" + }, + "engines": { + "node": ">= 20" + }, + "peerDependencies": { + "@octokit/core": "^7.0.0" } }, "node_modules/@octokit/request": { - "version": "9.1.1", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.1.1.tgz", - "integrity": "sha512-pyAguc0p+f+GbQho0uNetNQMmLG1e80WjkIaqqgUkihqUp0boRU6nKItXO4VWnr+nbZiLGEyy4TeKRwqaLvYgw==", - "peer": true, + "version": "10.0.8", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-10.0.8.tgz", + "integrity": "sha512-SJZNwY9pur9Agf7l87ywFi14W+Hd9Jg6Ifivsd33+/bGUQIjNujdFiXII2/qSlN2ybqUHfp5xpekMEjIBTjlSw==", + "license": "MIT", "dependencies": { - "@octokit/endpoint": "^10.0.0", - "@octokit/request-error": "^6.0.1", - "@octokit/types": "^13.1.0", + "@octokit/endpoint": "^11.0.3", + "@octokit/request-error": "^7.0.2", + "@octokit/types": "^16.0.0", + "fast-content-type-parse": "^3.0.0", + "json-with-bigint": "^3.5.3", "universal-user-agent": "^7.0.2" }, "engines": { - "node": ">= 18" + "node": ">= 20" } }, "node_modules/@octokit/request-error": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.1.tgz", - "integrity": "sha512-1mw1gqT3fR/WFvnoVpY/zUM2o/XkMs/2AszUUG9I69xn0JFLv6PGkPhNk5lbfvROs79wiS0bqiJNxfCZcRJJdg==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-7.1.0.tgz", + "integrity": "sha512-KMQIfq5sOPpkQYajXHwnhjCC0slzCNScLHs9JafXc4RAJI+9f+jNDlBNaIMTvazOPLgb4BnlhGJOTbnN0wIjPw==", + "license": "MIT", "dependencies": { - "@octokit/types": "^13.0.0" + "@octokit/types": "^16.0.0" }, "engines": { - "node": ">= 18" + "node": ">= 20" } }, - "node_modules/@octokit/request/node_modules/universal-user-agent": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.2.tgz", - "integrity": "sha512-0JCqzSKnStlRRQfCdowvqy3cy0Dvtlb8xecj/H8JFZuCze4rwjPZQOgvFvn0Ws/usCHQFGpyr+pB9adaGwXn4Q==", - "peer": true - }, "node_modules/@octokit/types": { - "version": "13.5.0", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.5.0.tgz", - "integrity": "sha512-HdqWTf5Z3qwDVlzCrP8UJquMwunpDiMPt5er+QjGzL4hqr/vBVY/MauQgS1xWxCDT1oMx1EULyqxncdCY/NVSQ==", + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-16.0.0.tgz", + "integrity": "sha512-sKq+9r1Mm4efXW1FCk7hFSeJo4QKreL/tTbR0rz/qx/r1Oa2VV83LTA/H/MuCOX7uCIJmQVRKBcbmWoySjAnSg==", + "license": "MIT", "dependencies": { - "@octokit/openapi-types": "^22.2.0" + "@octokit/openapi-types": "^27.0.0" } }, - "node_modules/@pkgjs/parseargs": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", - "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "node_modules/@oxc-project/types": { + "version": "0.132.0", + "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.132.0.tgz", + "integrity": "sha512-FESMOxil5Se014ui/Eq8fT5uHJo6nIRwH0PfJrZJXs6Gek3ZVFOrpUv3YIZT20m+extU98Hg1Ym72U58rlsxUQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/Boshen" + } + }, + "node_modules/@rolldown/binding-android-arm64": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.2.tgz", + "integrity": "sha512-ZS4D1JPGn/MYQN/SYDWftIE/nVsM8j/AFOYEzAoOE2O3NktQOZru+/vYXGbR/qtdLdIfGCP0lcoJiYVzsEz+iQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=14" + "node": "^20.19.0 || >=22.12.0" } }, - "node_modules/@sinclair/typebox": { - "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", - "dev": true - }, - "node_modules/@sinonjs/commons": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", - "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", + "node_modules/@rolldown/binding-darwin-arm64": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.2.tgz", + "integrity": "sha512-vdFA9+C/rekyGce7WqHs/xoT0ioZEWaOFyZLIV1mEeNFaFDUQrPIo8Vs2GvJ6eetb3rzDUtUBgzto3ExpXJB3w==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "type-detect": "4.0.8" + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" } }, - "node_modules/@sinonjs/fake-timers": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", - "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", + "node_modules/@rolldown/binding-darwin-x64": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.2.tgz", + "integrity": "sha512-BewSOwTHazv77DTYiAZXSqqKZ4KP/KonFisDMVU7PImxoWfB2aepnPhd2E4SWz3zDzYgDNbs6jBmTdgNnF02GA==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "@sinonjs/commons": "^3.0.0" + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" } }, + "node_modules/@rolldown/binding-freebsd-x64": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.2.tgz", + "integrity": "sha512-m41o7M0YWtUdqk61Tb+jnKb2rN++iRdIASlExkUoKfIAH30DOHCB8fVLzSUpbWHHU8esmEioY62PxzexE8MBuA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm-gnueabihf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.2.tgz", + "integrity": "sha512-jcojB9H7W/jS29pMKWAK1N+fU99vXodHDTatS3b3y/XSOCiHo0kkA74pL3jJmkoQtYpOCxDvaKs1fo2Ij/1X5w==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm64-gnu": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.2.tgz", + "integrity": "sha512-1jn6qDU5iiOgFgygDzKUuKP0maTi0/f1+sBLgvij/76C77Nm3ts6ufz9Bjg5q5dduxiUIxtq86JIoBvo1xQ4Ig==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm64-musl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.2.tgz", + "integrity": "sha512-QVLO/czFMdoMFSqlX3bcswcJNm/23r+qoa/jgtmFc/qEp6/jXmIkDjF/XIo8dPfGaiwy1xfQn8o77L79GeXFgw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-ppc64-gnu": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.0.2.tgz", + "integrity": "sha512-hgO5Abm0w5UL6FEa2iFnZqo2KlK7TQ5QhV5x09hujBf7t5KzHQ1VmfPuTpqRy/rNlSxua3eWH374xxiVrP+lcA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-s390x-gnu": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.0.2.tgz", + "integrity": "sha512-fy8rXxuYEu602abC8MUNaPjYLIFzReOaEIEMKMUa0rFEUxNpVXhs15KSSQ4qlqSaM7B6rcj9rDZgADh/IGDzLQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-x64-gnu": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.2.tgz", + "integrity": "sha512-0+bOkiQ779+r1WpoHOWHqncvyySci0vKph+myNDYb+im6meJAzHQXay6oEgnkHuUGouM1LKTZwqKpBow6Kj7CQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-x64-musl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.2.tgz", + "integrity": "sha512-mjSkrzZK5Qsl0a9d1JgILOiuZOSDTVdKENcSXBoqbzSrspLR/4/IRVDo5wd2GgZjNss/viBFJdeq+j7qH2nypw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-openharmony-arm64": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.2.tgz", + "integrity": "sha512-1v5vHasdfQAZoEHakBV72LIFAC9JjnymsiKxp+GEr/ma3+NJCPSaYK+qavInOovJkgwFrs7GccX2d6IgDA3Z5w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-wasm32-wasi": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.2.tgz", + "integrity": "sha512-mb1VobWn6NheziTk5/WEaR6AKVbrwT5sOi6C7zk3gy/pD1qtJfU1j4PgTo2NJnOtbL9Dl3Aeei8w9jJ7qC2jZQ==", + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "1.10.0", + "@emnapi/runtime": "1.10.0", + "@napi-rs/wasm-runtime": "^1.1.4" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-win32-arm64-msvc": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.2.tgz", + "integrity": "sha512-SqKonF56vA/L2yHwHYcEp2P34URpOZ7d1fS635cTkpDnUtEGdUbhI6NzsPdqeSWvAAeGDrxjWjNmibDIdFf9/A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-win32-x64-msvc": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.2.tgz", + "integrity": "sha512-v7qRI7gXLRINcOGXt+7YmAZ6iFuyZVMIoXAxhd8oP+DR9dLfL9GfNIx7PLMxmhZdvq8waUJBQiWN9EKNy+TRBQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/pluginutils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.1.tgz", + "integrity": "sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@standard-schema/spec": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.1.0.tgz", + "integrity": "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==", + "dev": true, + "license": "MIT" + }, "node_modules/@tsconfig/node10": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz", @@ -1491,149 +1157,222 @@ "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", "dev": true }, - "node_modules/@types/babel__core": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", - "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "node_modules/@tybys/wasm-util": { + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.2.tgz", + "integrity": "sha512-RoBvJ2X0wuKlWFIjrwffGw1IqZHKQqzIchKaadZZfnNpsAYp2mM0h36JtPCjNDAHGgYez/15uMBpfGwchhiMgg==", "dev": true, + "license": "MIT", + "optional": true, "dependencies": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" + "tslib": "^2.4.0" } }, - "node_modules/@types/babel__generator": { - "version": "7.6.8", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", - "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", + "node_modules/@types/chai": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.3.tgz", + "integrity": "sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/types": "^7.0.0" + "@types/deep-eql": "*", + "assertion-error": "^2.0.1" } }, - "node_modules/@types/babel__template": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", - "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "node_modules/@types/deep-eql": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz", + "integrity": "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==", "dev": true, - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } + "license": "MIT" }, - "node_modules/@types/babel__traverse": { - "version": "7.20.6", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz", - "integrity": "sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==", + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", "dev": true, - "dependencies": { - "@babel/types": "^7.20.7" - } + "license": "MIT" }, "node_modules/@types/glob": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-8.1.0.tgz", - "integrity": "sha512-IO+MJPVhoqz+28h1qLAcBEH2+xHMK6MTyHJc7MTnnYb6wsoLR29POVGJ7LycmVXIqyy/4/2ShP5sUwTXuOwb/w==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-9.0.0.tgz", + "integrity": "sha512-00UxlRaIUvYm4R4W9WYkN8/J+kV8fmOQ7okeH6YFtGWFMt3odD45tpG5yA5wnL7HE6lLgjaTW5n14ju2hl2NNA==", + "deprecated": "This is a stub types definition. glob provides its own type definitions, so you do not need this installed.", "dev": true, + "license": "MIT", "dependencies": { - "@types/minimatch": "^5.1.2", - "@types/node": "*" + "glob": "*" } }, - "node_modules/@types/graceful-fs": { - "version": "4.1.9", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", - "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", + "node_modules/@types/mime-types": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/mime-types/-/mime-types-3.0.1.tgz", + "integrity": "sha512-xRMsfuQbnRq1Ef+C+RKaENOxXX87Ygl38W1vDfPHRku02TgQr+Qd8iivLtAMcR0KF5/29xlnFihkTlbqFrGOVQ==", "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", - "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", - "dev": true - }, - "node_modules/@types/istanbul-lib-report": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", - "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "*" - } - }, - "node_modules/@types/istanbul-reports": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", - "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-report": "*" - } - }, - "node_modules/@types/jest": { - "version": "29.5.14", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.14.tgz", - "integrity": "sha512-ZN+4sdnLUbo8EVvVc2ao0GFW6oVrQRPn4K2lglySj7APvSrgzxHiNNK99us4WDMi57xxA2yggblIAMNhXOotLQ==", - "dev": true, - "dependencies": { - "expect": "^29.0.0", - "pretty-format": "^29.0.0" - } - }, - "node_modules/@types/mime": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-3.0.4.tgz", - "integrity": "sha512-iJt33IQnVRkqeqC7PzBHPTC6fDlRNRW8vjrgqtScAhrmMwe8c4Eo7+fUGTa+XdWrpEgpyKWMYmi2dIwMAYRzPw==", - "dev": true - }, - "node_modules/@types/minimatch": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz", - "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==", - "dev": true + "license": "MIT" }, "node_modules/@types/node": { - "version": "22.10.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.1.tgz", - "integrity": "sha512-qKgsUwfHZV2WCWLAnVP1JqnpE6Im6h3Y0+fYgMTasNQ7V++CBX5OT1as0g0f+OyubbFqhf6XVNIsmN4IIhEgGQ==", + "version": "24.12.4", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.12.4.tgz", + "integrity": "sha512-GUUEShf+PBCGW2KaXwcIt3Yk+e3pkKwWKb9GSyM9WQVE+ep2jzmHdGsHzu4wgcZy5fN9FBdVzjpBQsYlpfpgLA==", "dev": true, + "license": "MIT", "dependencies": { - "undici-types": "~6.20.0" + "undici-types": "~7.16.0" } }, - "node_modules/@types/stack-utils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", - "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", - "dev": true - }, - "node_modules/@types/yargs": { - "version": "17.0.32", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz", - "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==", + "node_modules/@vitest/coverage-v8": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-4.1.6.tgz", + "integrity": "sha512-36l628fQ/9a/8ihy97eOtEnvWQEdqULQOJtcaxtoNq0G1w3Mxd4szSahOaMM9/NGyZ+hyKcMtIW/WIxq0XQViQ==", "dev": true, + "license": "MIT", "dependencies": { - "@types/yargs-parser": "*" + "@bcoe/v8-coverage": "^1.0.2", + "@vitest/utils": "4.1.6", + "ast-v8-to-istanbul": "^1.0.0", + "istanbul-lib-coverage": "^3.2.2", + "istanbul-lib-report": "^3.0.1", + "istanbul-reports": "^3.2.0", + "magicast": "^0.5.2", + "obug": "^2.1.1", + "std-env": "^4.0.0-rc.1", + "tinyrainbow": "^3.1.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@vitest/browser": "4.1.6", + "vitest": "4.1.6" + }, + "peerDependenciesMeta": { + "@vitest/browser": { + "optional": true + } } }, - "node_modules/@types/yargs-parser": { - "version": "21.0.3", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", - "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", - "dev": true - }, - "node_modules/@vercel/ncc": { - "version": "0.38.3", - "resolved": "https://registry.npmjs.org/@vercel/ncc/-/ncc-0.38.3.tgz", - "integrity": "sha512-rnK6hJBS6mwc+Bkab+PGPs9OiS0i/3kdTO+CkI8V0/VrW3vmz7O2Pxjw/owOlmo6PKEIxRSeZKv/kuL9itnpYA==", + "node_modules/@vitest/coverage-v8/node_modules/@bcoe/v8-coverage": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-1.0.2.tgz", + "integrity": "sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA==", "dev": true, - "bin": { - "ncc": "dist/ncc/cli.js" + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/@vitest/expect": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-4.1.6.tgz", + "integrity": "sha512-7EHDquPthALSV0jhhjgEW8FXaviMx7rSqu8W6oqCoAuOhKov814P99QDV1pxMA3QPv21YudvJngIhjrNI4opLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@standard-schema/spec": "^1.1.0", + "@types/chai": "^5.2.2", + "@vitest/spy": "4.1.6", + "@vitest/utils": "4.1.6", + "chai": "^6.2.2", + "tinyrainbow": "^3.1.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/mocker": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-4.1.6.tgz", + "integrity": "sha512-MCFc63czMjEInOlcY2cpQCvCN+KgbAn+60xu9cMgP4sKaLC5JNAKw7JH8QdAnoAC88hW1IiSNZ+GgVXlN1UcMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/spy": "4.1.6", + "estree-walker": "^3.0.3", + "magic-string": "^0.30.21" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "msw": "^2.4.9", + "vite": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "msw": { + "optional": true + }, + "vite": { + "optional": true + } + } + }, + "node_modules/@vitest/pretty-format": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.1.6.tgz", + "integrity": "sha512-h5SxD/IzNhZYnrSZRsUZQIC+vD0GY8cUvq0iwsmkFKixRCKLLWqCXa/FIQ4S1R+sI+PGoojkHsdNrbZiM9Qpgw==", + "dev": true, + "license": "MIT", + "dependencies": { + "tinyrainbow": "^3.1.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/runner": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-4.1.6.tgz", + "integrity": "sha512-nOPCmn2+yD0ZNmKdsXGv/UxMMWbMuKeD6GyYncNwdkYDxpQvrPSKYj2rWuDjC2Y4b6w6hjip5dBKFzEUuZe3vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/utils": "4.1.6", + "pathe": "^2.0.3" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/snapshot": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.1.6.tgz", + "integrity": "sha512-YhsdE6xAVfTDmzjxL2ZDUvjj+ZsgyOKe+TdQzqkD72wIOmHka8NuGQ6NpTNZv9D2Z63fbwWKJPeVpEw4EQgYxw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/pretty-format": "4.1.6", + "@vitest/utils": "4.1.6", + "magic-string": "^0.30.21", + "pathe": "^2.0.3" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/spy": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.1.6.tgz", + "integrity": "sha512-JFKxMx6udhwKh/Ldo270e17QX710vgunMkuPAvXjHSvC6oqLWAHhVhjg/I71q0u0CBSErIODV1Kjv0FQNSWjdg==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/utils": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-4.1.6.tgz", + "integrity": "sha512-FxIY+U81R3LGKCxaHHFRQ5+g6/iRgGLmeHWdp2Amj4ljQRrEIWHmZyDfDYBRZlpyqA7qKxtS9DD1dhk8RnRIVQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/pretty-format": "4.1.6", + "convert-source-map": "^2.0.0", + "tinyrainbow": "^3.1.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" } }, "node_modules/acorn": { @@ -1660,193 +1399,42 @@ "node": ">=0.4.0" } }, - "node_modules/ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "dev": true, - "dependencies": { - "type-fest": "^0.21.3" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dev": true, - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, "node_modules/arg": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", "dev": true }, - "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "node_modules/assertion-error": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", + "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", "dev": true, - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/async": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz", - "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==", - "dev": true - }, - "node_modules/babel-jest": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", - "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==", - "dev": true, - "dependencies": { - "@jest/transform": "^29.7.0", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^29.6.3", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" - }, + "license": "MIT", "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.8.0" + "node": ">=12" } }, - "node_modules/babel-plugin-istanbul": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", - "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "node_modules/ast-v8-to-istanbul": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ast-v8-to-istanbul/-/ast-v8-to-istanbul-1.0.0.tgz", + "integrity": "sha512-1fSfIwuDICFA4LKkCzRPO7F0hzFf0B7+Xqrl27ynQaa+Rh0e1Es0v6kWHPott3lU10AyAr7oKHa65OppjLn3Rg==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^5.0.4", - "test-exclude": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/babel-plugin-istanbul/node_modules/istanbul-lib-instrument": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", - "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", - "dev": true, - "dependencies": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/babel-plugin-jest-hoist": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", - "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", - "dev": true, - "dependencies": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.1.14", - "@types/babel__traverse": "^7.0.6" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/babel-preset-current-node-syntax": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", - "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", - "dev": true, - "dependencies": { - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.8.3", - "@babel/plugin-syntax-import-meta": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-top-level-await": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/babel-preset-jest": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", - "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", - "dev": true, - "dependencies": { - "babel-plugin-jest-hoist": "^29.6.3", - "babel-preset-current-node-syntax": "^1.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "@jridgewell/trace-mapping": "^0.3.31", + "estree-walker": "^3.0.3", + "js-tokens": "^10.0.0" } }, "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "node_modules/before-after-hook": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz", - "integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==" + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", + "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", + "license": "MIT", + "engines": { + "node": "18 || 20 || >=22" + } }, "node_modules/bottleneck": { "version": "2.19.5", @@ -1854,214 +1442,27 @@ "integrity": "sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw==" }, "node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.6.tgz", + "integrity": "sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==", + "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "dev": true, - "dependencies": { - "fill-range": "^7.1.1" + "balanced-match": "^4.0.2" }, "engines": { - "node": ">=8" + "node": "18 || 20 || >=22" } }, - "node_modules/browserslist": { - "version": "4.23.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.1.tgz", - "integrity": "sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==", + "node_modules/chai": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/chai/-/chai-6.2.2.tgz", + "integrity": "sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==", "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "caniuse-lite": "^1.0.30001629", - "electron-to-chromium": "^1.4.796", - "node-releases": "^2.0.14", - "update-browserslist-db": "^1.0.16" - }, - "bin": { - "browserslist": "cli.js" - }, + "license": "MIT", "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + "node": ">=18" } }, - "node_modules/bs-logger": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", - "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", - "dev": true, - "dependencies": { - "fast-json-stable-stringify": "2.x" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/bser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", - "dev": true, - "dependencies": { - "node-int64": "^0.4.0" - } - }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001636", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001636.tgz", - "integrity": "sha512-bMg2vmr8XBsbL6Lr0UHXy/21m84FTxDLWn2FSqMd5PrlbMxwJlQnC2YWYxVgp66PZE+BBNF2jYQUBKCo1FDeZg==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ] - }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/char-regex": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/ci-info": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", - "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" - } - ], - "engines": { - "node": ">=8" - } - }, - "node_modules/cjs-module-lexer": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.3.1.tgz", - "integrity": "sha512-a3KdPAANPbNE4ZUv9h6LckSl9zLsYOP4MBmhIPkRaeyybt+r4UghLvq+xw/YwUcC1gqylCkL4rdVs3Lwupjm4Q==", - "dev": true - }, - "node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", - "dev": true, - "engines": { - "iojs": ">= 1.0.0", - "node": ">= 0.12.0" - } - }, - "node_modules/collect-v8-coverage": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", - "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", - "dev": true - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, "node_modules/commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", @@ -2074,38 +1475,12 @@ "integrity": "sha512-aE2Y4MTFJ870NuB/+2z1cXBhSBBzRydVVjzhFC4gtenEhpnj15yu0qptWGJsO9YGrcPZ3ezX8AWb1VA391MKpQ==", "dev": true }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true - }, "node_modules/convert-source-map": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true - }, - "node_modules/create-jest": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz", - "integrity": "sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==", "dev": true, - "dependencies": { - "@jest/types": "^29.6.3", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-config": "^29.7.0", - "jest-util": "^29.7.0", - "prompts": "^2.0.1" - }, - "bin": { - "create-jest": "bin/create-jest.js" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } + "license": "MIT" }, "node_modules/create-require": { "version": "1.1.1", @@ -2113,69 +1488,12 @@ "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", "dev": true }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/debug": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", - "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/dedent": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.3.tgz", - "integrity": "sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==", - "dev": true, - "peerDependencies": { - "babel-plugin-macros": "^3.1.0" - }, - "peerDependenciesMeta": { - "babel-plugin-macros": { - "optional": true - } - } - }, - "node_modules/deepmerge": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/deprecation": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", - "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==" - }, - "node_modules/detect-newline": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", - "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=8" } @@ -2189,20 +1507,6 @@ "node": ">=0.3.1" } }, - "node_modules/diff-sequences": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", - "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", - "dev": true, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" - }, "node_modules/editorconfig": { "version": "0.15.3", "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-0.15.3.tgz", @@ -2243,231 +1547,116 @@ "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==", "dev": true }, - "node_modules/ejs": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", - "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", - "dev": true, - "dependencies": { - "jake": "^10.8.5" - }, - "bin": { - "ejs": "bin/cli.js" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/electron-to-chromium": { - "version": "1.4.806", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.806.tgz", - "integrity": "sha512-nkoEX2QIB8kwCOtvtgwhXWy2IHVcOLQZu9Qo36uaGB835mdX/h8uLRlosL6QIhLVUnAiicXRW00PwaPZC74Nrg==", - "dev": true - }, - "node_modules/emittery": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", - "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sindresorhus/emittery?sponsor=1" - } - }, - "node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "node_modules/error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/escalade": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", - "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-string-regexp": { + "node_modules/es-module-lexer": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.0.0.tgz", + "integrity": "sha512-5POEcUuZybH7IdmGsD8wlf0AI55wMecM9rVBTI/qEAy2c1kTOm3DjFYjrBdI2K3BaJjJYfYFeRtM0t9ssnRuxw==", "dev": true, - "engines": { - "node": ">=8" - } + "license": "MIT" }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "node_modules/esbuild": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.28.0.tgz", + "integrity": "sha512-sNR9MHpXSUV/XB4zmsFKN+QgVG82Cc7+/aaxJ8Adi8hyOac+EXptIp45QBPaVyX3N70664wRbTcLTOemCAnyqw==", "dev": true, + "hasInstallScript": true, + "license": "MIT", "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" + "esbuild": "bin/esbuild" }, "engines": { - "node": ">=4" + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.28.0", + "@esbuild/android-arm": "0.28.0", + "@esbuild/android-arm64": "0.28.0", + "@esbuild/android-x64": "0.28.0", + "@esbuild/darwin-arm64": "0.28.0", + "@esbuild/darwin-x64": "0.28.0", + "@esbuild/freebsd-arm64": "0.28.0", + "@esbuild/freebsd-x64": "0.28.0", + "@esbuild/linux-arm": "0.28.0", + "@esbuild/linux-arm64": "0.28.0", + "@esbuild/linux-ia32": "0.28.0", + "@esbuild/linux-loong64": "0.28.0", + "@esbuild/linux-mips64el": "0.28.0", + "@esbuild/linux-ppc64": "0.28.0", + "@esbuild/linux-riscv64": "0.28.0", + "@esbuild/linux-s390x": "0.28.0", + "@esbuild/linux-x64": "0.28.0", + "@esbuild/netbsd-arm64": "0.28.0", + "@esbuild/netbsd-x64": "0.28.0", + "@esbuild/openbsd-arm64": "0.28.0", + "@esbuild/openbsd-x64": "0.28.0", + "@esbuild/openharmony-arm64": "0.28.0", + "@esbuild/sunos-x64": "0.28.0", + "@esbuild/win32-arm64": "0.28.0", + "@esbuild/win32-ia32": "0.28.0", + "@esbuild/win32-x64": "0.28.0" } }, - "node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", "dev": true, + "license": "MIT", "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" + "@types/estree": "^1.0.0" } }, - "node_modules/exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "node_modules/expect-type": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.3.0.tgz", + "integrity": "sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==", "dev": true, + "license": "Apache-2.0", "engines": { - "node": ">= 0.8.0" + "node": ">=12.0.0" } }, - "node_modules/expect": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", - "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", + "node_modules/fast-content-type-parse": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/fast-content-type-parse/-/fast-content-type-parse-3.0.0.tgz", + "integrity": "sha512-ZvLdcY8P+N8mGQJahJV5G4U88CSvT1rP8ApL6uETe88MBXrBHAkZlSEySdUlyztF7ccb+Znos3TFqaepHxdhBg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "MIT" + }, + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", "dev": true, - "dependencies": { - "@jest/expect-utils": "^29.7.0", - "jest-get-type": "^29.6.3", - "jest-matcher-utils": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-util": "^29.7.0" - }, + "license": "MIT", "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "node_modules/fb-watchman": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", - "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", - "dev": true, - "dependencies": { - "bser": "2.1.1" - } - }, - "node_modules/filelist": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", - "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", - "dev": true, - "dependencies": { - "minimatch": "^5.0.1" - } - }, - "node_modules/filelist/node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" + "node": ">=12.0.0" }, - "engines": { - "node": ">=10" - } - }, - "node_modules/fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" + "peerDependencies": { + "picomatch": "^3 || ^4" }, - "engines": { - "node": ">=8" + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } } }, - "node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/foreground-child": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.2.1.tgz", - "integrity": "sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA==", - "dependencies": { - "cross-spawn": "^7.0.0", - "signal-exit": "^4.0.1" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/foreground-child/node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true - }, "node_modules/fsevents": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "dev": true, "hasInstallScript": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -2476,232 +1665,39 @@ "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true, - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", - "dev": true, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/glob": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-11.0.0.tgz", - "integrity": "sha512-9UiX/Bl6J2yaBbxKoEBRm4Cipxgok8kQYcOPEhScPwebu2I0HoQOuYdIO6S3hLuWoZgpDpwQZMzTFxgpkyT76g==", + "version": "13.0.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.6.tgz", + "integrity": "sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==", + "license": "BlueOak-1.0.0", "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^4.0.1", - "minimatch": "^10.0.0", - "minipass": "^7.1.2", - "package-json-from-dist": "^1.0.0", - "path-scurry": "^2.0.0" - }, - "bin": { - "glob": "dist/esm/bin.mjs" + "minimatch": "^10.2.2", + "minipass": "^7.1.3", + "path-scurry": "^2.0.2" }, "engines": { - "node": "20 || >=22" + "node": "18 || 20 || >=22" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true - }, "node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/html-escaper": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true - }, - "node_modules/human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", "dev": true, - "engines": { - "node": ">=10.17.0" - } - }, - "node_modules/import-local": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", - "dev": true, - "dependencies": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - }, - "bin": { - "import-local-fixture": "fixtures/cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", - "dev": true, - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "dev": true - }, - "node_modules/is-core-module": { - "version": "2.13.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", - "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", - "dev": true, - "dependencies": { - "hasown": "^2.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-generator-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", - "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + "license": "MIT" }, "node_modules/istanbul-lib-coverage": { "version": "3.2.2", @@ -2712,39 +1708,12 @@ "node": ">=8" } }, - "node_modules/istanbul-lib-instrument": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.2.tgz", - "integrity": "sha512-1WUsZ9R1lA0HtBSohTkm39WTPlNKSJ5iFk7UwqXkBLoHQT+hfqPsfsTDVuZdKGaBwn7din9bS7SsnoAr943hvw==", - "dev": true, - "dependencies": { - "@babel/core": "^7.23.9", - "@babel/parser": "^7.23.9", - "@istanbuljs/schema": "^0.1.3", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^7.5.4" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/istanbul-lib-instrument/node_modules/semver": { - "version": "7.6.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", - "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/istanbul-lib-report": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "istanbul-lib-coverage": "^3.0.0", "make-dir": "^4.0.0", @@ -2754,25 +1723,12 @@ "node": ">=10" } }, - "node_modules/istanbul-lib-source-maps": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", - "dev": true, - "dependencies": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/istanbul-reports": { - "version": "3.1.7", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", - "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.2.0.tgz", + "integrity": "sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "html-escaper": "^2.0.0", "istanbul-lib-report": "^3.0.0" @@ -2781,814 +1737,309 @@ "node": ">=8" } }, - "node_modules/jackspeak": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-4.0.1.tgz", - "integrity": "sha512-cub8rahkh0Q/bw1+GxP7aeSe29hHHn2V4m29nnDlvCdlgU+3UGxkZp7Z53jLUdpX3jdTO0nJZUDl3xvbWc2Xog==", - "dependencies": { - "@isaacs/cliui": "^8.0.2" - }, - "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" - } - }, - "node_modules/jake": { - "version": "10.9.1", - "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.1.tgz", - "integrity": "sha512-61btcOHNnLnsOdtLgA5efqQWjnSi/vow5HbI7HMdKKWqvrKR1bLK3BPlJn9gcSaP2ewuamUSMB5XEy76KUIS2w==", - "dev": true, - "dependencies": { - "async": "^3.2.3", - "chalk": "^4.0.2", - "filelist": "^1.0.4", - "minimatch": "^3.1.2" - }, - "bin": { - "jake": "bin/cli.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/jake/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/jake/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/jest": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz", - "integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==", - "dev": true, - "dependencies": { - "@jest/core": "^29.7.0", - "@jest/types": "^29.6.3", - "import-local": "^3.0.2", - "jest-cli": "^29.7.0" - }, - "bin": { - "jest": "bin/jest.js" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/jest-changed-files": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz", - "integrity": "sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==", - "dev": true, - "dependencies": { - "execa": "^5.0.0", - "jest-util": "^29.7.0", - "p-limit": "^3.1.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-circus": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz", - "integrity": "sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==", - "dev": true, - "dependencies": { - "@jest/environment": "^29.7.0", - "@jest/expect": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^1.0.0", - "is-generator-fn": "^2.0.0", - "jest-each": "^29.7.0", - "jest-matcher-utils": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-runtime": "^29.7.0", - "jest-snapshot": "^29.7.0", - "jest-util": "^29.7.0", - "p-limit": "^3.1.0", - "pretty-format": "^29.7.0", - "pure-rand": "^6.0.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-cli": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz", - "integrity": "sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==", - "dev": true, - "dependencies": { - "@jest/core": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/types": "^29.6.3", - "chalk": "^4.0.0", - "create-jest": "^29.7.0", - "exit": "^0.1.2", - "import-local": "^3.0.2", - "jest-config": "^29.7.0", - "jest-util": "^29.7.0", - "jest-validate": "^29.7.0", - "yargs": "^17.3.1" - }, - "bin": { - "jest": "bin/jest.js" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/jest-config": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz", - "integrity": "sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==", - "dev": true, - "dependencies": { - "@babel/core": "^7.11.6", - "@jest/test-sequencer": "^29.7.0", - "@jest/types": "^29.6.3", - "babel-jest": "^29.7.0", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-circus": "^29.7.0", - "jest-environment-node": "^29.7.0", - "jest-get-type": "^29.6.3", - "jest-regex-util": "^29.6.3", - "jest-resolve": "^29.7.0", - "jest-runner": "^29.7.0", - "jest-util": "^29.7.0", - "jest-validate": "^29.7.0", - "micromatch": "^4.0.4", - "parse-json": "^5.2.0", - "pretty-format": "^29.7.0", - "slash": "^3.0.0", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@types/node": "*", - "ts-node": ">=9.0.0" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "ts-node": { - "optional": true - } - } - }, - "node_modules/jest-config/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/jest-config/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Glob versions prior to v9 are no longer supported", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/jest-config/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/jest-diff": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", - "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^29.6.3", - "jest-get-type": "^29.6.3", - "pretty-format": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-docblock": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz", - "integrity": "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==", - "dev": true, - "dependencies": { - "detect-newline": "^3.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-each": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz", - "integrity": "sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==", - "dev": true, - "dependencies": { - "@jest/types": "^29.6.3", - "chalk": "^4.0.0", - "jest-get-type": "^29.6.3", - "jest-util": "^29.7.0", - "pretty-format": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-environment-node": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", - "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", - "dev": true, - "dependencies": { - "@jest/environment": "^29.7.0", - "@jest/fake-timers": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "jest-mock": "^29.7.0", - "jest-util": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-get-type": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", - "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", - "dev": true, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-haste-map": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", - "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", - "dev": true, - "dependencies": { - "@jest/types": "^29.6.3", - "@types/graceful-fs": "^4.1.3", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^29.6.3", - "jest-util": "^29.7.0", - "jest-worker": "^29.7.0", - "micromatch": "^4.0.4", - "walker": "^1.0.8" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "optionalDependencies": { - "fsevents": "^2.3.2" - } - }, - "node_modules/jest-leak-detector": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz", - "integrity": "sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==", - "dev": true, - "dependencies": { - "jest-get-type": "^29.6.3", - "pretty-format": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-matcher-utils": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", - "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^29.7.0", - "jest-get-type": "^29.6.3", - "pretty-format": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-message-util": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", - "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.6.3", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^29.7.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-mock": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", - "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", - "dev": true, - "dependencies": { - "@jest/types": "^29.6.3", - "@types/node": "*", - "jest-util": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-pnp-resolver": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", - "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", - "dev": true, - "engines": { - "node": ">=6" - }, - "peerDependencies": { - "jest-resolve": "*" - }, - "peerDependenciesMeta": { - "jest-resolve": { - "optional": true - } - } - }, - "node_modules/jest-regex-util": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", - "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", - "dev": true, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-resolve": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz", - "integrity": "sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.7.0", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^29.7.0", - "jest-validate": "^29.7.0", - "resolve": "^1.20.0", - "resolve.exports": "^2.0.0", - "slash": "^3.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-resolve-dependencies": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz", - "integrity": "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==", - "dev": true, - "dependencies": { - "jest-regex-util": "^29.6.3", - "jest-snapshot": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-runner": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz", - "integrity": "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==", - "dev": true, - "dependencies": { - "@jest/console": "^29.7.0", - "@jest/environment": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "graceful-fs": "^4.2.9", - "jest-docblock": "^29.7.0", - "jest-environment-node": "^29.7.0", - "jest-haste-map": "^29.7.0", - "jest-leak-detector": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-resolve": "^29.7.0", - "jest-runtime": "^29.7.0", - "jest-util": "^29.7.0", - "jest-watcher": "^29.7.0", - "jest-worker": "^29.7.0", - "p-limit": "^3.1.0", - "source-map-support": "0.5.13" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-runtime": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz", - "integrity": "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==", - "dev": true, - "dependencies": { - "@jest/environment": "^29.7.0", - "@jest/fake-timers": "^29.7.0", - "@jest/globals": "^29.7.0", - "@jest/source-map": "^29.6.3", - "@jest/test-result": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "cjs-module-lexer": "^1.0.0", - "collect-v8-coverage": "^1.0.0", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-mock": "^29.7.0", - "jest-regex-util": "^29.6.3", - "jest-resolve": "^29.7.0", - "jest-snapshot": "^29.7.0", - "jest-util": "^29.7.0", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-runtime/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/jest-runtime/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Glob versions prior to v9 are no longer supported", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/jest-runtime/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/jest-snapshot": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz", - "integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==", - "dev": true, - "dependencies": { - "@babel/core": "^7.11.6", - "@babel/generator": "^7.7.2", - "@babel/plugin-syntax-jsx": "^7.7.2", - "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/types": "^7.3.3", - "@jest/expect-utils": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^29.7.0", - "graceful-fs": "^4.2.9", - "jest-diff": "^29.7.0", - "jest-get-type": "^29.6.3", - "jest-matcher-utils": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-util": "^29.7.0", - "natural-compare": "^1.4.0", - "pretty-format": "^29.7.0", - "semver": "^7.5.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-snapshot/node_modules/semver": { - "version": "7.6.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", - "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/jest-util": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", - "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", - "dev": true, - "dependencies": { - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-validate": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", - "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", - "dev": true, - "dependencies": { - "@jest/types": "^29.6.3", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^29.6.3", - "leven": "^3.1.0", - "pretty-format": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-validate/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/jest-watcher": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz", - "integrity": "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==", - "dev": true, - "dependencies": { - "@jest/test-result": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "jest-util": "^29.7.0", - "string-length": "^4.0.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-worker": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", - "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", - "dev": true, - "dependencies": { - "@types/node": "*", - "jest-util": "^29.7.0", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-worker/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-10.0.0.tgz", + "integrity": "sha512-lM/UBzQmfJRo9ABXbPWemivdCW8V2G8FHaHdypQaIy523snUjog0W71ayWXTjiR+ixeMyVHN2XcpnTd/liPg/Q==", "dev": true, + "license": "MIT" + }, + "node_modules/json-with-bigint": { + "version": "3.5.7", + "resolved": "https://registry.npmjs.org/json-with-bigint/-/json-with-bigint-3.5.7.tgz", + "integrity": "sha512-7ei3MdAI5+fJPVnKlW77TKNKwQ5ppSzWvhPuSuINT/GYW9ZOC1eRKOuhV9yHG5aEsUPj9BBx5JIekkmoLHxZOw==", + "license": "MIT" + }, + "node_modules/lightningcss": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.32.0.tgz", + "integrity": "sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==", + "dev": true, + "license": "MPL-2.0", "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true, - "bin": { - "jsesc": "bin/jsesc" + "detect-libc": "^2.0.3" }, "engines": { - "node": ">=4" - } - }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true - }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, - "bin": { - "json5": "lib/cli.js" + "node": ">= 12.0.0" }, - "engines": { - "node": ">=6" - } - }, - "node_modules/kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true - }, - "node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" }, - "engines": { - "node": ">=8" + "optionalDependencies": { + "lightningcss-android-arm64": "1.32.0", + "lightningcss-darwin-arm64": "1.32.0", + "lightningcss-darwin-x64": "1.32.0", + "lightningcss-freebsd-x64": "1.32.0", + "lightningcss-linux-arm-gnueabihf": "1.32.0", + "lightningcss-linux-arm64-gnu": "1.32.0", + "lightningcss-linux-arm64-musl": "1.32.0", + "lightningcss-linux-x64-gnu": "1.32.0", + "lightningcss-linux-x64-musl": "1.32.0", + "lightningcss-win32-arm64-msvc": "1.32.0", + "lightningcss-win32-x64-msvc": "1.32.0" } }, - "node_modules/lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", - "dev": true + "node_modules/lightningcss-android-arm64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.32.0.tgz", + "integrity": "sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-arm64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.32.0.tgz", + "integrity": "sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-x64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.32.0.tgz", + "integrity": "sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-freebsd-x64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.32.0.tgz", + "integrity": "sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.32.0.tgz", + "integrity": "sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.32.0.tgz", + "integrity": "sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.32.0.tgz", + "integrity": "sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.32.0.tgz", + "integrity": "sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.32.0.tgz", + "integrity": "sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-arm64-msvc": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.32.0.tgz", + "integrity": "sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.32.0.tgz", + "integrity": "sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } }, "node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "version": "11.2.7", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.7.tgz", + "integrity": "sha512-aY/R+aEsRelme17KGQa/1ZSIpLpNYYrhcrepKTZgE+W3WM16YMCaPwOHLHsmopZHELU0Ojin1lPVxKR0MihncA==", + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/magic-string": { + "version": "0.30.21", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", "dev": true, + "license": "MIT", "dependencies": { - "yallist": "^3.0.2" + "@jridgewell/sourcemap-codec": "^1.5.5" + } + }, + "node_modules/magicast": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.5.2.tgz", + "integrity": "sha512-E3ZJh4J3S9KfwdjZhe2afj6R9lGIN5Pher1pF39UGrXRqq/VDaGVIGN13BjHd2u8B61hArAGOnso7nBOouW3TQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.29.0", + "@babel/types": "^7.29.0", + "source-map-js": "^1.2.1" } }, "node_modules/make-dir": { @@ -3596,6 +2047,7 @@ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", "dev": true, + "license": "MIT", "dependencies": { "semver": "^7.5.3" }, @@ -3606,335 +2058,169 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/make-dir/node_modules/semver": { - "version": "7.6.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", - "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/make-error": { "version": "1.3.6", "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", "dev": true }, - "node_modules/makeerror": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", - "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", - "dev": true, - "dependencies": { - "tmpl": "1.0.5" + "node_modules/mime-db": { + "version": "1.54.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", + "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" } }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, - "node_modules/micromatch": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz", - "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==", - "dev": true, + "node_modules/mime-types": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz", + "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==", + "license": "MIT", "dependencies": { - "braces": "^3.0.3", - "picomatch": "^2.3.1" + "mime-db": "^1.54.0" }, "engines": { - "node": ">=8.6" - } - }, - "node_modules/mime": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", - "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==", - "bin": { - "mime": "cli.js" + "node": ">=18" }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true, - "engines": { - "node": ">=6" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/minimatch": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.1.tgz", - "integrity": "sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==", + "version": "10.2.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.4.tgz", + "integrity": "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==", + "license": "BlueOak-1.0.0", "dependencies": { - "brace-expansion": "^2.0.1" + "brace-expansion": "^5.0.2" }, "engines": { - "node": "20 || >=22" + "node": "18 || 20 || >=22" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/minipass": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", - "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz", + "integrity": "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==", + "license": "BlueOak-1.0.0", "engines": { "node": ">=16 || 14 >=14.17" } }, - "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true - }, - "node_modules/node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", - "dev": true - }, - "node_modules/node-releases": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", - "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", - "dev": true - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "node_modules/nanoid": { + "version": "3.3.12", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.12.tgz", + "integrity": "sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ==", "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dev": true, - "dependencies": { - "path-key": "^3.0.0" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" }, "engines": { - "node": ">=8" + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "node_modules/obug": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/obug/-/obug-2.1.1.tgz", + "integrity": "sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ==", "dev": true, - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/p-locate/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/package-json-from-dist": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", - "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==" - }, - "node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true + "funding": [ + "https://github.com/sponsors/sxzz", + "https://opencollective.com/debug" + ], + "license": "MIT" }, "node_modules/path-scurry": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.0.tgz", - "integrity": "sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.2.tgz", + "integrity": "sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==", + "license": "BlueOak-1.0.0", "dependencies": { "lru-cache": "^11.0.0", "minipass": "^7.1.2" }, "engines": { - "node": "20 || >=22" + "node": "18 || 20 || >=22" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/path-scurry/node_modules/lru-cache": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.0.0.tgz", - "integrity": "sha512-Qv32eSV1RSCfhY3fpPE2GNZ8jgM9X7rdAfemLWqTUxwiyIC4jJ6Sy0fZ8H+oLWevO6i4/bizg7c8d8i6bxrzbA==", - "engines": { - "node": "20 || >=22" - } + "node_modules/pathe": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", + "dev": true, + "license": "MIT" }, "node_modules/picocolors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", - "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", - "dev": true + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, + "license": "ISC" }, "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", "dev": true, + "license": "MIT", "engines": { - "node": ">=8.6" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/pirates": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", - "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "node_modules/postcss": { + "version": "8.5.15", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.15.tgz", + "integrity": "sha512-FfR8sjd4em2T6fb3I2MwAJU7HWVMr9zba+enmQeeWFfCbm+UOC/0X4DS8XtpUTMwWMGbjKYP7xjfNekzyGmB3A==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", "dependencies": { - "find-up": "^4.0.0" + "nanoid": "^3.3.12", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" }, "engines": { - "node": ">=8" + "node": "^10 || ^12 || >=14" } }, "node_modules/prettier": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.4.2.tgz", - "integrity": "sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ==", + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.8.3.tgz", + "integrity": "sha512-7igPTM53cGHMW8xWuVTydi2KO233VFiTNyF5hLJqpilHfmn8C8gPf+PS7dUT64YcXFbiMGZxS9pCSxL/Dxm/Jw==", "dev": true, + "license": "MIT", "bin": { "prettier": "bin/prettier.cjs" }, @@ -3945,156 +2231,65 @@ "url": "https://github.com/prettier/prettier?sponsor=1" } }, - "node_modules/pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", - "dev": true, - "dependencies": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", - "dev": true, - "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/pseudomap": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==", "dev": true }, - "node_modules/pure-rand": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.1.0.tgz", - "integrity": "sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/dubzzz" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/fast-check" - } - ] - }, - "node_modules/react-is": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", - "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", - "dev": true - }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "node_modules/rolldown": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.0.2.tgz", + "integrity": "sha512-oZx5zVDtVB44AW3eaifgDml1gWRDZGvjcfdxonE4swNPG98PrrXjaO/KrnUjzlMnztCCRVlUueA1kCXhARGk6g==", "dev": true, + "license": "MIT", "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" + "@oxc-project/types": "=0.132.0", + "@rolldown/pluginutils": "^1.0.0" }, "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", - "dev": true, - "dependencies": { - "resolve-from": "^5.0.0" + "rolldown": "bin/cli.mjs" }, "engines": { - "node": ">=8" + "node": "^20.19.0 || >=22.12.0" + }, + "optionalDependencies": { + "@rolldown/binding-android-arm64": "1.0.2", + "@rolldown/binding-darwin-arm64": "1.0.2", + "@rolldown/binding-darwin-x64": "1.0.2", + "@rolldown/binding-freebsd-x64": "1.0.2", + "@rolldown/binding-linux-arm-gnueabihf": "1.0.2", + "@rolldown/binding-linux-arm64-gnu": "1.0.2", + "@rolldown/binding-linux-arm64-musl": "1.0.2", + "@rolldown/binding-linux-ppc64-gnu": "1.0.2", + "@rolldown/binding-linux-s390x-gnu": "1.0.2", + "@rolldown/binding-linux-x64-gnu": "1.0.2", + "@rolldown/binding-linux-x64-musl": "1.0.2", + "@rolldown/binding-openharmony-arm64": "1.0.2", + "@rolldown/binding-wasm32-wasi": "1.0.2", + "@rolldown/binding-win32-arm64-msvc": "1.0.2", + "@rolldown/binding-win32-x64-msvc": "1.0.2" } }, - "node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/resolve.exports": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", - "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", + "node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, "engines": { "node": ">=10" } }, - "node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/shebang-command": { + "node_modules/siginfo": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "engines": { - "node": ">=8" - } + "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", + "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", + "dev": true, + "license": "ISC" }, "node_modules/sigmund": { "version": "1.0.1", @@ -4102,162 +2297,36 @@ "integrity": "sha512-fCvEXfh6NWpm+YSuY2bpXb/VIihqWA6hLsgboC+0nl71Q7N7o2eaCW8mJa/NLvQhs6jpd3VZV4UiUQlV6+lc8g==", "dev": true }, - "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true - }, - "node_modules/sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "dev": true - }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, - "node_modules/source-map-support": { - "version": "0.5.13", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", - "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "node_modules/stackback": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", + "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", "dev": true, - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } + "license": "MIT" }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true - }, - "node_modules/stack-utils": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", - "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", - "dev": true, - "dependencies": { - "escape-string-regexp": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/string-length": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", - "dev": true, - "dependencies": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width-cjs": { - "name": "string-width", - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi-cjs": { - "name": "strip-ansi", - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-bom": { + "node_modules/std-env": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-4.0.0.tgz", + "integrity": "sha512-zUMPtQ/HBY3/50VbpkupYHbRroTRZJPRLvreamgErJVys0ceuzMkD44J/QjqhHjOzK42GQ3QZIeFG1OYfOtKqQ==", "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "license": "MIT" }, "node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -4265,160 +2334,48 @@ "node": ">=8" } }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "node_modules/tinybench": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz", + "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==", "dev": true, + "license": "MIT" + }, + "node_modules/tinyexec": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.0.2.tgz", + "integrity": "sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==", + "dev": true, + "license": "MIT", "engines": { - "node": ">= 0.4" + "node": ">=18" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.16", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.16.tgz", + "integrity": "sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.4" + }, + "engines": { + "node": ">=12.0.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/SuperchupuDev" } }, - "node_modules/test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "node_modules/tinyrainbow": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-3.1.0.tgz", + "integrity": "sha512-Bf+ILmBgretUrdJxzXM0SgXLZ3XfiaUuOj/IKQHuTXip+05Xn+uyEYdVg0kYDipTBcLrCVyUzAPz7QmArb0mmw==", "dev": true, - "dependencies": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - }, + "license": "MIT", "engines": { - "node": ">=8" - } - }, - "node_modules/test-exclude/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/test-exclude/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Glob versions prior to v9 are no longer supported", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/test-exclude/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/tmpl": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", - "dev": true - }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/ts-jest": { - "version": "29.2.5", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.2.5.tgz", - "integrity": "sha512-KD8zB2aAZrcKIdGk4OwpJggeLcH1FgrICqDSROWqlnJXGCXK4Mn6FcdK2B6670Xr73lHMG1kHw8R87A0ecZ+vA==", - "dev": true, - "dependencies": { - "bs-logger": "^0.2.6", - "ejs": "^3.1.10", - "fast-json-stable-stringify": "^2.1.0", - "jest-util": "^29.0.0", - "json5": "^2.2.3", - "lodash.memoize": "^4.1.2", - "make-error": "^1.3.6", - "semver": "^7.6.3", - "yargs-parser": "^21.1.1" - }, - "bin": { - "ts-jest": "cli.js" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0" - }, - "peerDependencies": { - "@babel/core": ">=7.0.0-beta.0 <8", - "@jest/transform": "^29.0.0", - "@jest/types": "^29.0.0", - "babel-jest": "^29.0.0", - "jest": "^29.0.0", - "typescript": ">=4.3 <6" - }, - "peerDependenciesMeta": { - "@babel/core": { - "optional": true - }, - "@jest/transform": { - "optional": true - }, - "@jest/types": { - "optional": true - }, - "babel-jest": { - "optional": true - }, - "esbuild": { - "optional": true - } - } - }, - "node_modules/ts-jest/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" + "node": ">=14.0.0" } }, "node_modules/ts-node": { @@ -4464,6 +2421,14 @@ } } }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true, + "license": "0BSD", + "optional": true + }, "node_modules/tunnel": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", @@ -4472,32 +2437,12 @@ "node": ">=0.6.11 <=0.7.0 || >=0.7.3" } }, - "node_modules/type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/typescript": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.2.tgz", - "integrity": "sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.3.tgz", + "integrity": "sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==", "dev": true, + "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -4526,56 +2471,26 @@ } }, "node_modules/undici": { - "version": "5.28.4", - "resolved": "https://registry.npmjs.org/undici/-/undici-5.28.4.tgz", - "integrity": "sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==", - "dependencies": { - "@fastify/busboy": "^2.0.0" - }, + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/undici/-/undici-6.24.1.tgz", + "integrity": "sha512-sC+b0tB1whOCzbtlx20fx3WgCXwkW627p4EA9uM+/tNNPkSS+eSEld6pAs9nDv7WbY1UUljBMYPtu9BCOrCWKA==", + "license": "MIT", "engines": { - "node": ">=14.0" + "node": ">=18.17" } }, "node_modules/undici-types": { - "version": "6.20.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz", - "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==", - "dev": true + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz", + "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==", + "dev": true, + "license": "MIT" }, "node_modules/universal-user-agent": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.1.tgz", - "integrity": "sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ==" - }, - "node_modules/update-browserslist-db": { - "version": "1.0.16", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.16.tgz", - "integrity": "sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "escalade": "^3.1.2", - "picocolors": "^1.0.1" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.3.tgz", + "integrity": "sha512-TmnEAEAsBJVZM/AADELsK76llnwcf9vMKuPz8JflO1frO8Lchitr0fNaN9d+Ap0BjKtqWqd/J17qeDnXh8CL2A==", + "license": "ISC" }, "node_modules/v8-compile-cache-lib": { "version": "3.0.1", @@ -4583,135 +2498,189 @@ "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", "dev": true }, - "node_modules/v8-to-istanbul": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz", - "integrity": "sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==", + "node_modules/vite": { + "version": "8.0.14", + "resolved": "https://registry.npmjs.org/vite/-/vite-8.0.14.tgz", + "integrity": "sha512-s4BJJ+5y1pYL6Otw51FHhVJQhPnuRinKig64g/1+EUNaJsd3gCKdD31IPFvswUgW9/60QT9oFHbZHbQK5imcxw==", "dev": true, + "license": "MIT", "dependencies": { - "@jridgewell/trace-mapping": "^0.3.12", - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^2.0.0" - }, - "engines": { - "node": ">=10.12.0" - } - }, - "node_modules/walker": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", - "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", - "dev": true, - "dependencies": { - "makeerror": "1.0.12" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dependencies": { - "isexe": "^2.0.0" + "lightningcss": "^1.32.0", + "picomatch": "^4.0.4", + "postcss": "^8.5.15", + "rolldown": "1.0.2", + "tinyglobby": "^0.2.16" }, "bin": { - "node-which": "bin/node-which" + "vite": "bin/vite.js" }, "engines": { - "node": ">= 8" - } - }, - "node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" + "node": "^20.19.0 || >=22.12.0" }, "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^20.19.0 || >=22.12.0", + "@vitejs/devtools": "^0.1.18", + "esbuild": "^0.27.0 || ^0.28.0", + "jiti": ">=1.21.0", + "less": "^4.0.0", + "sass": "^1.70.0", + "sass-embedded": "^1.70.0", + "stylus": ">=0.54.8", + "sugarss": "^5.0.0", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "@vitejs/devtools": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } } }, - "node_modules/wrap-ansi-cjs": { - "name": "wrap-ansi", - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "node_modules/vitest": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-4.1.6.tgz", + "integrity": "sha512-6lvjbS3p9b4CrdCmguzbh2/4uoXhGE2q71R4OX5sqF9R1bo9Xd6fGrMAfvp5wnCzlBnFVdCOp6onuTQVbo8iUQ==", + "dev": true, + "license": "MIT", "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "@vitest/expect": "4.1.6", + "@vitest/mocker": "4.1.6", + "@vitest/pretty-format": "4.1.6", + "@vitest/runner": "4.1.6", + "@vitest/snapshot": "4.1.6", + "@vitest/spy": "4.1.6", + "@vitest/utils": "4.1.6", + "es-module-lexer": "^2.0.0", + "expect-type": "^1.3.0", + "magic-string": "^0.30.21", + "obug": "^2.1.1", + "pathe": "^2.0.3", + "picomatch": "^4.0.3", + "std-env": "^4.0.0-rc.1", + "tinybench": "^2.9.0", + "tinyexec": "^1.0.2", + "tinyglobby": "^0.2.15", + "tinyrainbow": "^3.1.0", + "vite": "^6.0.0 || ^7.0.0 || ^8.0.0", + "why-is-node-running": "^2.3.0" + }, + "bin": { + "vitest": "vitest.mjs" }, "engines": { - "node": ">=10" + "node": "^20.0.0 || ^22.0.0 || >=24.0.0" }, "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@edge-runtime/vm": "*", + "@opentelemetry/api": "^1.9.0", + "@types/node": "^20.0.0 || ^22.0.0 || >=24.0.0", + "@vitest/browser-playwright": "4.1.6", + "@vitest/browser-preview": "4.1.6", + "@vitest/browser-webdriverio": "4.1.6", + "@vitest/coverage-istanbul": "4.1.6", + "@vitest/coverage-v8": "4.1.6", + "@vitest/ui": "4.1.6", + "happy-dom": "*", + "jsdom": "*", + "vite": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "@edge-runtime/vm": { + "optional": true + }, + "@opentelemetry/api": { + "optional": true + }, + "@types/node": { + "optional": true + }, + "@vitest/browser-playwright": { + "optional": true + }, + "@vitest/browser-preview": { + "optional": true + }, + "@vitest/browser-webdriverio": { + "optional": true + }, + "@vitest/coverage-istanbul": { + "optional": true + }, + "@vitest/coverage-v8": { + "optional": true + }, + "@vitest/ui": { + "optional": true + }, + "happy-dom": { + "optional": true + }, + "jsdom": { + "optional": true + }, + "vite": { + "optional": false + } } }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - }, - "node_modules/write-file-atomic": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", - "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "node_modules/why-is-node-running": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz", + "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==", "dev": true, + "license": "MIT", "dependencies": { - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" + "siginfo": "^2.0.0", + "stackback": "0.0.2" + }, + "bin": { + "why-is-node-running": "cli.js" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - }, - "node_modules/yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "dev": true, - "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true, - "engines": { - "node": ">=12" + "node": ">=8" } }, "node_modules/yn": { @@ -4722,18 +2691,6 @@ "engines": { "node": ">=6" } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } } } } diff --git a/package.json b/package.json index f005f9c..b218c01 100644 --- a/package.json +++ b/package.json @@ -1,16 +1,17 @@ { "name": "action-gh-release", - "version": "2.2.0", + "version": "3.0.0", "private": true, "description": "GitHub Action for creating GitHub Releases", "main": "lib/main.js", "scripts": { - "build": "ncc build src/main.ts --minify", - "build-debug": "ncc build src/main.ts --v8-cache --source-map", - "test": "jest", + "build": "esbuild src/main.ts --bundle --platform=node --format=cjs --target=node24 --outfile=dist/index.js --minify", + "build-debug": "esbuild src/main.ts --bundle --platform=node --format=cjs --target=node24 --outfile=dist/index.js --sourcemap --keep-names", + "typecheck": "tsc --noEmit", + "test": "vitest --coverage", "fmt": "prettier --write \"src/**/*.ts\" \"__tests__/**/*.ts\"", "fmtcheck": "prettier --check \"src/**/*.ts\" \"__tests__/**/*.ts\"", - "updatetag": "git tag -d v2 && git push origin :v2 && git tag -a v2 -m '' && git push origin v2" + "updatetag": "git tag -d v3 >/dev/null 2>&1 || true; git push origin :v3 >/dev/null 2>&1 || true; git tag -a v3 -m '' && git push origin v3" }, "repository": { "type": "git", @@ -20,26 +21,27 @@ "actions" ], "author": "softprops", + "engines": { + "node": ">=24" + }, "dependencies": { - "@actions/core": "^1.11.1", - "@actions/github": "^6.0.0", - "@octokit/plugin-retry": "^7.1.2", - "@octokit/plugin-throttling": "^9.3.2", - "glob": "^11.0.0", - "mime": "^3.0.0" + "@actions/core": "^3.0.1", + "@actions/github": "^9.1.1", + "@octokit/plugin-retry": "^8.1.0", + "@octokit/plugin-throttling": "^11.0.3", + "glob": "^13.0.6", + "mime-types": "^3.0.2" }, "devDependencies": { - "@types/glob": "^8.1.0", - "@types/jest": "^29.5.14", - "@types/mime": "^3.0.1", - "@types/node": "^22.10.1", - "@vercel/ncc": "^0.38.3", - "jest": "^29.3.1", - "jest-circus": "^29.3.1", - "prettier": "3.4.2", - "ts-jest": "^29.2.5", + "@types/glob": "^9.0.0", + "@types/mime-types": "^3.0.1", + "@types/node": "^24", + "@vitest/coverage-v8": "^4.1.6", + "esbuild": "^0.28.0", + "prettier": "3.8.3", "ts-node": "^10.9.2", - "typescript": "^5.7.2", - "typescript-formatter": "^7.2.2" + "typescript": "^6.0.3", + "typescript-formatter": "^7.2.2", + "vitest": "^4.0.4" } } diff --git a/src/github.ts b/src/github.ts index 0014dab..df52433 100644 --- a/src/github.ts +++ b/src/github.ts @@ -1,8 +1,9 @@ -import { GitHub } from "@actions/github/lib/utils"; -import { Config, isTag, releaseBody, alignAssetName } from "./util"; -import { createReadStream, statSync, type ReadStream } from "fs"; -import { getType } from "mime"; -import { basename } from "path"; +import { GitHub } from '@actions/github/lib/utils'; +import { statSync } from 'fs'; +import { open } from 'fs/promises'; +import { lookup } from 'mime-types'; +import { basename } from 'path'; +import { alignAssetName, Config, isTag, normalizeTagName, releaseBody } from './util'; type GitHub = InstanceType; @@ -10,7 +11,6 @@ export interface ReleaseAsset { name: string; mime: string; size: number; - data: ReadStream; } export interface Release { @@ -23,49 +23,84 @@ export interface Release { target_commitish: string; draft: boolean; prerelease: boolean; - assets: Array<{ id: number; name: string }>; + assets: Array<{ id: number; name: string; label?: string | null }>; } +export interface ReleaseResult { + release: Release; + created: boolean; +} + +type ReleaseNotesParams = { + owner: string; + repo: string; + tag_name: string; + target_commitish: string | undefined; + previous_tag_name?: string; +}; + +type ReleaseMutationParams = { + owner: string; + repo: string; + tag_name: string; + name: string; + body: string | undefined; + draft: boolean | undefined; + prerelease: boolean | undefined; + target_commitish: string | undefined; + discussion_category_name: string | undefined; + generate_release_notes: boolean | undefined; + make_latest: 'true' | 'false' | 'legacy' | undefined; + previous_tag_name?: string; +}; + export interface Releaser { - getReleaseByTag(params: { - owner: string; - repo: string; - tag: string; - }): Promise<{ data: Release }>; + getReleaseByTag(params: { owner: string; repo: string; tag: string }): Promise<{ data: Release }>; - createRelease(params: { - owner: string; - repo: string; - tag_name: string; - name: string; - body: string | undefined; - draft: boolean | undefined; - prerelease: boolean | undefined; - target_commitish: string | undefined; - discussion_category_name: string | undefined; - generate_release_notes: boolean | undefined; - make_latest: "true" | "false" | "legacy" | undefined; - }): Promise<{ data: Release }>; + createRelease(params: ReleaseMutationParams): Promise<{ data: Release }>; - updateRelease(params: { + updateRelease( + params: ReleaseMutationParams & { + release_id: number; + target_commitish: string; + }, + ): Promise<{ data: Release }>; + + finalizeRelease(params: { owner: string; repo: string; release_id: number; - tag_name: string; - target_commitish: string; - name: string; - body: string | undefined; - draft: boolean | undefined; - prerelease: boolean | undefined; + make_latest: 'true' | 'false' | 'legacy' | undefined; discussion_category_name: string | undefined; - generate_release_notes: boolean | undefined; - make_latest: "true" | "false" | "legacy" | undefined; }): Promise<{ data: Release }>; - allReleases(params: { + allReleases(params: { owner: string; repo: string }): AsyncIterable<{ data: Release[] }>; + + listReleaseAssets(params: { owner: string; repo: string; - }): AsyncIterableIterator<{ data: Release[] }>; + release_id: number; + }): Promise>; + + deleteReleaseAsset(params: { owner: string; repo: string; asset_id: number }): Promise; + + deleteRelease(params: { owner: string; repo: string; release_id: number }): Promise; + + updateReleaseAsset(params: { + owner: string; + repo: string; + asset_id: number; + name: string; + label: string; + }): Promise<{ data: any }>; + + uploadReleaseAsset(params: { + url: string; + size: number; + mime: string; + token: string; + data: any; + }): Promise<{ status: number; data: any }>; } export class GitHubReleaser implements Releaser { @@ -82,62 +117,141 @@ export class GitHubReleaser implements Releaser { return this.github.rest.repos.getReleaseByTag(params); } - createRelease(params: { - owner: string; - repo: string; - tag_name: string; - name: string; - body: string | undefined; - draft: boolean | undefined; - prerelease: boolean | undefined; - target_commitish: string | undefined; - discussion_category_name: string | undefined; - generate_release_notes: boolean | undefined; - make_latest: "true" | "false" | "legacy" | undefined; - }): Promise<{ data: Release }> { - if ( - typeof params.make_latest === "string" && - !["true", "false", "legacy"].includes(params.make_latest) - ) { - params.make_latest = undefined; - } - - return this.github.rest.repos.createRelease(params); + async getReleaseNotes(params: ReleaseNotesParams): Promise<{ + data: { + name: string; + body: string; + }; + }> { + return await this.github.rest.repos.generateReleaseNotes(params); } - updateRelease(params: { + private async prepareReleaseMutation( + params: T, + ): Promise> { + const { previous_tag_name, ...releaseParams } = params; + + if ( + typeof releaseParams.make_latest === 'string' && + !['true', 'false', 'legacy'].includes(releaseParams.make_latest) + ) { + releaseParams.make_latest = undefined; + } + if (releaseParams.generate_release_notes) { + const releaseNotes = await this.getReleaseNotes({ + owner: releaseParams.owner, + repo: releaseParams.repo, + tag_name: releaseParams.tag_name, + target_commitish: releaseParams.target_commitish, + previous_tag_name, + }); + releaseParams.generate_release_notes = false; + if (releaseParams.body) { + releaseParams.body = `${releaseParams.body}\n\n${releaseNotes.data.body}`; + } else { + releaseParams.body = releaseNotes.data.body; + } + } + releaseParams.body = releaseParams.body + ? this.truncateReleaseNotes(releaseParams.body) + : undefined; + return releaseParams; + } + + truncateReleaseNotes(input: string): string { + // release notes can be a maximum of 125000 characters + const githubNotesMaxCharLength = 125000; + return input.substring(0, githubNotesMaxCharLength - 1); + } + + async createRelease(params: ReleaseMutationParams): Promise<{ data: Release }> { + return this.github.rest.repos.createRelease(await this.prepareReleaseMutation(params)); + } + + async updateRelease( + params: ReleaseMutationParams & { + release_id: number; + target_commitish: string; + }, + ): Promise<{ data: Release }> { + return this.github.rest.repos.updateRelease(await this.prepareReleaseMutation(params)); + } + + async finalizeRelease(params: { owner: string; repo: string; release_id: number; - tag_name: string; - target_commitish: string; - name: string; - body: string | undefined; - draft: boolean | undefined; - prerelease: boolean | undefined; + make_latest: 'true' | 'false' | 'legacy' | undefined; discussion_category_name: string | undefined; - generate_release_notes: boolean | undefined; - make_latest: "true" | "false" | "legacy" | undefined; - }): Promise<{ data: Release }> { - if ( - typeof params.make_latest === "string" && - !["true", "false", "legacy"].includes(params.make_latest) - ) { - params.make_latest = undefined; - } - - return this.github.rest.repos.updateRelease(params); + }) { + return await this.github.rest.repos.updateRelease({ + owner: params.owner, + repo: params.repo, + release_id: params.release_id, + draft: false, + make_latest: params.make_latest, + discussion_category_name: params.discussion_category_name, + }); } - allReleases(params: { - owner: string; - repo: string; - }): AsyncIterableIterator<{ data: Release[] }> { + allReleases(params: { owner: string; repo: string }): AsyncIterable<{ data: Release[] }> { const updatedParams = { per_page: 100, ...params }; return this.github.paginate.iterator( this.github.rest.repos.listReleases.endpoint.merge(updatedParams), ); } + + async listReleaseAssets(params: { + owner: string; + repo: string; + release_id: number; + }): Promise> { + return this.github.paginate(this.github.rest.repos.listReleaseAssets, { + ...params, + per_page: 100, + }); + } + + async deleteReleaseAsset(params: { + owner: string; + repo: string; + asset_id: number; + }): Promise { + await this.github.rest.repos.deleteReleaseAsset(params); + } + + async deleteRelease(params: { owner: string; repo: string; release_id: number }): Promise { + await this.github.rest.repos.deleteRelease(params); + } + + async updateReleaseAsset(params: { + owner: string; + repo: string; + asset_id: number; + name: string; + label: string; + }): Promise<{ data: any }> { + return await this.github.rest.repos.updateReleaseAsset(params); + } + + async uploadReleaseAsset(params: { + url: string; + size: number; + mime: string; + token: string; + data: any; + }): Promise<{ status: number; data: any }> { + return this.github.request({ + method: 'POST', + url: params.url, + headers: { + 'content-length': `${params.size}`, + 'content-type': params.mime, + authorization: `token ${params.token}`, + }, + data: params.data, + }); + } } export const asset = (path: string): ReleaseAsset => { @@ -145,101 +259,268 @@ export const asset = (path: string): ReleaseAsset => { name: basename(path), mime: mimeOrDefault(path), size: statSync(path).size, - data: createReadStream(path, "binary"), }; }; export const mimeOrDefault = (path: string): string => { - return getType(path) || "application/octet-stream"; + return lookup(path) || 'application/octet-stream'; }; +const releaseAssetMatchesName = ( + name: string, + asset: { name: string; label?: string | null }, +): boolean => asset.name === name || asset.name === alignAssetName(name) || asset.label === name; + +const isReleaseAssetUpdateNotFound = (error: any): boolean => { + const errorStatus = error?.status ?? error?.response?.status; + const requestUrl = error?.request?.url; + const errorMessage = error?.message; + const isReleaseAssetRequest = + typeof requestUrl === 'string' && + (/\/releases\/assets\//.test(requestUrl) || /\/releases\/\d+\/assets(?:\?|$)/.test(requestUrl)); + + return ( + errorStatus === 404 && + (isReleaseAssetRequest || + (typeof errorMessage === 'string' && errorMessage.includes('update-a-release-asset'))) + ); +}; + +const isImmutableReleaseAssetUploadFailure = (error: any): boolean => { + const errorStatus = error?.status ?? error?.response?.status; + const errorMessage = error?.response?.data?.message ?? error?.message; + + return errorStatus === 422 && /immutable release/i.test(String(errorMessage)); +}; + +const immutableReleaseAssetUploadMessage = ( + name: string, + prerelease: boolean | undefined, +): string => + prerelease + ? `Cannot upload asset ${name} to an immutable release. GitHub only allows asset uploads before a release is published, but draft prereleases publish with the release.published event instead of release.prereleased. If you need prereleases with assets on an immutable-release repository, keep the release as a draft with draft: true, then publish it later from that draft and subscribe downstream workflows to release.published.` + : `Cannot upload asset ${name} to an immutable release. GitHub only allows asset uploads before a release is published, so upload assets to a draft release before you publish it.`; + export const upload = async ( config: Config, - github: GitHub, + releaser: Releaser, url: string, path: string, - currentAssets: Array<{ id: number; name: string }>, + currentAssets: Array<{ id: number; name: string; label?: string | null }>, ): Promise => { - const [owner, repo] = config.github_repository.split("/"); - const { name, size, mime, data: body } = asset(path); + const [owner, repo] = config.github_repository.split('/'); + const { name, mime, size } = asset(path); + const releaseIdMatch = url.match(/\/releases\/(\d+)\/assets/); + const releaseId = releaseIdMatch ? Number(releaseIdMatch[1]) : undefined; const currentAsset = currentAssets.find( - // note: GitHub renames asset filenames that have special characters, non-alphanumeric characters, and leading or trailing periods. The "List release assets" endpoint lists the renamed filenames. - // due to this renaming we need to be mindful when we compare the file name we're uploading with a name github may already have rewritten for logical comparison - // see https://docs.github.com/en/rest/releases/assets?apiVersion=2022-11-28#upload-a-release-asset - ({ name: currentName }) => currentName == alignAssetName(name), + // GitHub can rewrite uploaded asset names, so compare against both the raw name + // GitHub returns and the restored label we set when available. + (currentAsset) => releaseAssetMatchesName(name, currentAsset), ); if (currentAsset) { - console.log(`♻️ Deleting previously uploaded asset ${name}...`); - await github.rest.repos.deleteReleaseAsset({ - asset_id: currentAsset.id || 1, - owner, - repo, - }); + if (config.input_overwrite_files === false) { + console.log(`Asset ${name} already exists and overwrite_files is false...`); + return null; + } else { + console.log(`♻️ Deleting previously uploaded asset ${name}...`); + await releaser.deleteReleaseAsset({ + asset_id: currentAsset.id || 1, + owner, + repo, + }); + } } console.log(`⬆️ Uploading ${name}...`); const endpoint = new URL(url); - endpoint.searchParams.append("name", name); - const resp = await github.request({ - method: "POST", - url: endpoint.toString(), - headers: { - "content-length": `${size}`, - "content-type": mime, - authorization: `token ${config.github_token}`, - }, - data: body, - }); - const json = resp.data; - if (resp.status !== 201) { - throw new Error( - `Failed to upload release asset ${name}. received status code ${ - resp.status - }\n${json.message}\n${JSON.stringify(json.errors)}`, - ); + endpoint.searchParams.append('name', name); + const findReleaseAsset = async ( + matches: (asset: { id: number; name: string; label?: string | null }) => boolean, + attempts: number = 3, + ) => { + if (releaseId === undefined) { + return undefined; + } + + for (let attempt = 1; attempt <= attempts; attempt++) { + const latestAssets = await releaser.listReleaseAssets({ + owner, + repo, + release_id: releaseId, + }); + const latestAsset = latestAssets.find(matches); + if (latestAsset) { + return latestAsset; + } + + if (attempt < attempts) { + await new Promise((resolve) => setTimeout(resolve, 1000)); + } + } + + return undefined; + }; + const uploadAsset = async () => { + const fh = await open(path); + try { + return await releaser.uploadReleaseAsset({ + url: endpoint.toString(), + size, + mime, + token: config.github_token, + data: fh.readableWebStream(), + }); + } finally { + await fh.close(); + } + }; + + const maybeRestoreAssetLabel = async (uploadedAsset: { + id?: number; + name?: string; + label?: string | null; + [key: string]: any; + }) => { + if (!uploadedAsset.name || uploadedAsset.name === name || !uploadedAsset.id) { + return uploadedAsset; + } + + console.log(`✏️ Restoring asset label to ${name}...`); + + const updateAssetLabel = async (assetId: number) => { + const { data } = await releaser.updateReleaseAsset({ + owner, + repo, + asset_id: assetId, + name: uploadedAsset.name!, + label: name, + }); + return data; + }; + + try { + return await updateAssetLabel(uploadedAsset.id); + } catch (error: any) { + const errorStatus = error?.status ?? error?.response?.status; + + if (errorStatus === 404 && releaseId !== undefined) { + try { + const latestAsset = await findReleaseAsset( + (currentAsset) => + currentAsset.id === uploadedAsset.id || currentAsset.name === uploadedAsset.name, + ); + if (latestAsset) { + return await updateAssetLabel(latestAsset.id); + } + } catch (refreshError) { + console.warn(`error refreshing release assets for ${name}: ${refreshError}`); + } + } + + console.warn(`error updating release asset label for ${name}: ${error}`); + return uploadedAsset; + } + }; + + const handleUploadedAsset = async (resp: { status: number; data: any }) => { + const json = resp.data; + if (resp.status !== 201) { + throw new Error( + `Failed to upload release asset ${name}. received status code ${ + resp.status + }\n${json.message}\n${JSON.stringify(json.errors)}`, + ); + } + const assetWithLabel = await maybeRestoreAssetLabel(json); + console.log(`✅ Uploaded ${name}`); + return assetWithLabel; + }; + + try { + return await handleUploadedAsset(await uploadAsset()); + } catch (error: any) { + const errorStatus = error?.status ?? error?.response?.status; + const errorData = error?.response?.data; + + if (isImmutableReleaseAssetUploadFailure(error)) { + throw new Error(immutableReleaseAssetUploadMessage(name, config.input_prerelease)); + } + + if (releaseId !== undefined && isReleaseAssetUpdateNotFound(error)) { + try { + const latestAsset = await findReleaseAsset((currentAsset) => + releaseAssetMatchesName(name, currentAsset), + ); + if (latestAsset) { + console.warn( + `error updating release asset metadata for ${name}: ${error}. Matching asset is present after refresh; continuing...`, + ); + return latestAsset; + } + } catch (refreshError) { + console.warn( + `error refreshing release assets after metadata update failure: ${refreshError}`, + ); + } + } + + // Handle race conditions across concurrent workflows uploading the same asset. + if ( + config.input_overwrite_files !== false && + errorStatus === 422 && + errorData?.errors?.[0]?.code === 'already_exists' && + releaseId !== undefined + ) { + console.log( + `⚠️ Asset ${name} already exists (race condition), refreshing assets and retrying once...`, + ); + const latestAssets = await releaser.listReleaseAssets({ + owner, + repo, + release_id: releaseId, + }); + const latestAsset = latestAssets.find((currentAsset) => + releaseAssetMatchesName(name, currentAsset), + ); + if (latestAsset) { + await releaser.deleteReleaseAsset({ + owner, + repo, + asset_id: latestAsset.id, + }); + return await handleUploadedAsset(await uploadAsset()); + } + } + + throw error; } - return json; }; export const release = async ( config: Config, releaser: Releaser, maxRetries: number = 3, -): Promise => { +): Promise => { if (maxRetries <= 0) { console.log(`❌ Too many retries. Aborting...`); - throw new Error("Too many retries."); + throw new Error('Too many retries.'); } - const [owner, repo] = config.github_repository.split("/"); + const [owner, repo] = config.github_repository.split('/'); const tag = - config.input_tag_name || - (isTag(config.github_ref) - ? config.github_ref.replace("refs/tags/", "") - : ""); + normalizeTagName(config.input_tag_name) || + (isTag(config.github_ref) ? config.github_ref.replace('refs/tags/', '') : ''); const discussion_category_name = config.input_discussion_category_name; const generate_release_notes = config.input_generate_release_notes; + const previous_tag_name = config.input_previous_tag; + + if (generate_release_notes && previous_tag_name) { + console.log(`📝 Generating release notes using previous tag ${previous_tag_name}`); + } try { - // you can't get a an existing draft by tag - // so we must find one in the list of all releases - let _release: Release | undefined = undefined; - if (config.input_draft) { - for await (const response of releaser.allReleases({ - owner, - repo, - })) { - _release = response.data.find((release) => release.tag_name === tag); - } - } else { - _release = ( - await releaser.getReleaseByTag({ - owner, - repo, - tag, - }) - ).data; - } - if (_release === null || _release === undefined) { + const _release: Release | undefined = await findTagFromReleases(releaser, owner, repo, tag); + + if (_release === undefined) { return await createRelease( tag, config, @@ -249,13 +530,12 @@ export const release = async ( discussion_category_name, generate_release_notes, maxRetries, + previous_tag_name, ); } let existingRelease: Release = _release!; - console.log( - `Found release ${existingRelease.name} (with id=${existingRelease.id})`, - ); + console.log(`Found release ${existingRelease.name} (with id=${existingRelease.id})`); const release_id = existingRelease.id; let target_commitish: string; @@ -277,23 +557,17 @@ export const release = async ( // body parts as a release gets updated. some users will likely want this while // others won't previously this was duplicating content for most which // no one wants - const workflowBody = releaseBody(config) || ""; - const existingReleaseBody = existingRelease.body || ""; + const workflowBody = releaseBody(config) || ''; + const existingReleaseBody = existingRelease.body || ''; let body: string; if (config.input_append_body && workflowBody && existingReleaseBody) { - body = existingReleaseBody + "\n" + workflowBody; + body = existingReleaseBody + '\n' + workflowBody; } else { body = workflowBody || existingReleaseBody; } - const draft = - config.input_draft !== undefined - ? config.input_draft - : existingRelease.draft; const prerelease = - config.input_prerelease !== undefined - ? config.input_prerelease - : existingRelease.prerelease; + config.input_prerelease !== undefined ? config.input_prerelease : existingRelease.prerelease; const make_latest = config.input_make_latest; @@ -305,13 +579,17 @@ export const release = async ( target_commitish, name, body, - draft, + draft: existingRelease.draft, prerelease, discussion_category_name, generate_release_notes, make_latest, + previous_tag_name, }); - return release.data; + return { + release: release.data, + created: false, + }; } catch (error) { if (error.status !== 404) { console.log( @@ -329,10 +607,282 @@ export const release = async ( discussion_category_name, generate_release_notes, maxRetries, + previous_tag_name, ); } }; +/** + * Finalizes a release by unmarking it as "draft" (if relevant) + * after all artifacts have been uploaded. + * + * @param config - Release configuration as specified by user + * @param releaser - The GitHub API wrapper for release operations + * @param release - The existing release to be finalized + * @param maxRetries - The maximum number of attempts to finalize the release + */ +export const finalizeRelease = async ( + config: Config, + releaser: Releaser, + release: Release, + releaseWasCreated: boolean = false, + maxRetries: number = 3, +): Promise => { + if (config.input_draft === true || release.draft === false) { + return release; + } + + if (maxRetries <= 0) { + console.log(`❌ Too many retries. Aborting...`); + throw new Error('Too many retries.'); + } + + const [owner, repo] = config.github_repository.split('/'); + try { + const { data } = await releaser.finalizeRelease({ + owner, + repo, + release_id: release.id, + make_latest: config.input_make_latest, + discussion_category_name: config.input_discussion_category_name, + }); + + return data; + } catch (error) { + console.warn(`error finalizing release: ${error}`); + + if (releaseWasCreated && release.draft && isTagCreationBlockedError(error)) { + let deleted = false; + + try { + console.log( + `🧹 Deleting draft release ${release.id} for tag ${release.tag_name} because tag creation is blocked by repository rules...`, + ); + await releaser.deleteRelease({ + owner, + repo, + release_id: release.id, + }); + deleted = true; + } catch (cleanupError) { + console.warn(`error deleting orphan draft release ${release.id}: ${cleanupError}`); + } + + const cleanupResult = deleted + ? `Deleted draft release ${release.id} to avoid leaving an orphaned draft release.` + : `Failed to delete draft release ${release.id}; manual cleanup may still be required.`; + throw new Error( + `Tag creation for ${release.tag_name} is blocked by repository rules. ${cleanupResult}`, + ); + } + + console.log(`retrying... (${maxRetries - 1} retries remaining)`); + return finalizeRelease(config, releaser, release, releaseWasCreated, maxRetries - 1); + } +}; + +/** + * Lists assets belonging to a release. + * + * @param config - Release configuration as specified by user + * @param releaser - The GitHub API wrapper for release operations + * @param release - The existing release to be checked + * @param maxRetries - The maximum number of attempts + */ +export const listReleaseAssets = async ( + config: Config, + releaser: Releaser, + release: Release, + maxRetries: number = 3, +): Promise> => { + if (maxRetries <= 0) { + console.log(`❌ Too many retries. Aborting...`); + throw new Error('Too many retries.'); + } + + const [owner, repo] = config.github_repository.split('/'); + try { + const assets = await releaser.listReleaseAssets({ + owner, + repo, + release_id: release.id, + }); + + return assets; + } catch (error) { + console.warn(`error listing assets of release: ${error}`); + console.log(`retrying... (${maxRetries - 1} retries remaining)`); + return listReleaseAssets(config, releaser, release, maxRetries - 1); + } +}; + +/** + * Finds a release by tag name. + * + * Uses the direct getReleaseByTag API for O(1) lookup instead of iterating + * through all releases. This also avoids GitHub's API pagination limit of + * 10000 results which would cause failures for repositories with many releases. + * + * @param releaser - The GitHub API wrapper for release operations + * @param owner - The owner of the repository + * @param repo - The name of the repository + * @param tag - The tag name to search for + * @returns The release with the given tag name, or undefined if no release with that tag name is found + */ +export async function findTagFromReleases( + releaser: Releaser, + owner: string, + repo: string, + tag: string, +): Promise { + try { + const { data: release } = await releaser.getReleaseByTag({ owner, repo, tag }); + return release; + } catch (error) { + // Release not found (404) or other error - return undefined to allow creation + if (error.status === 404) { + return undefined; + } + // Re-throw unexpected errors + throw error; + } +} + +const CREATED_RELEASE_DISCOVERY_RETRY_DELAY_MS = 1000; +const RECENT_RELEASE_SCAN_PAGES = 2; + +async function sleep(ms: number): Promise { + await new Promise((resolve) => setTimeout(resolve, ms)); +} + +async function recentReleasesByTag( + releaser: Releaser, + owner: string, + repo: string, + tag: string, +): Promise { + const matches: Release[] = []; + let pages = 0; + + for await (const page of releaser.allReleases({ owner, repo })) { + matches.push(...page.data.filter((release) => release.tag_name === tag)); + pages += 1; + + if (pages >= RECENT_RELEASE_SCAN_PAGES) { + break; + } + } + + return matches; +} + +function pickCanonicalRelease( + releases: Release[], + releaseByTag: Release | undefined, +): Release | undefined { + if (releaseByTag && releases.some((release) => release.id === releaseByTag.id)) { + return releaseByTag; + } + + if (releases.length === 0) { + return releaseByTag; + } + + return [...releases].sort((left, right) => { + if (left.draft !== right.draft) { + return Number(left.draft) - Number(right.draft); + } + + return left.id - right.id; + })[0]; +} + +async function cleanupDuplicateDraftReleases( + releaser: Releaser, + owner: string, + repo: string, + tag: string, + canonicalReleaseId: number, + releases: Release[], +): Promise { + const uniqueReleases = Array.from( + new Map(releases.map((release) => [release.id, release])).values(), + ); + + for (const duplicate of uniqueReleases) { + if (duplicate.id === canonicalReleaseId || !duplicate.draft || duplicate.assets.length > 0) { + continue; + } + + try { + console.log(`🧹 Removing duplicate draft release ${duplicate.id} for tag ${tag}...`); + await releaser.deleteRelease({ + owner, + repo, + release_id: duplicate.id, + }); + } catch (error) { + console.warn(`error deleting duplicate release ${duplicate.id}: ${error}`); + } + } +} + +async function canonicalizeCreatedRelease( + releaser: Releaser, + owner: string, + repo: string, + tag: string, + createdRelease: Release, + maxRetries: number, +): Promise { + const attempts = Math.max(maxRetries, 1); + + for (let attempt = 1; attempt <= attempts; attempt += 1) { + let releaseByTag: Release | undefined; + try { + releaseByTag = await findTagFromReleases(releaser, owner, repo, tag); + } catch (error) { + console.warn(`error reloading release for tag ${tag}: ${error}`); + } + + let recentReleases: Release[] = []; + try { + recentReleases = await recentReleasesByTag(releaser, owner, repo, tag); + } catch (error) { + console.warn(`error listing recent releases for tag ${tag}: ${error}`); + } + + const canonicalRelease = pickCanonicalRelease(recentReleases, releaseByTag); + if (canonicalRelease) { + if (canonicalRelease.id !== createdRelease.id) { + console.log( + `↪️ Using release ${canonicalRelease.id} for tag ${tag} instead of duplicate draft ${createdRelease.id}`, + ); + } + + await cleanupDuplicateDraftReleases(releaser, owner, repo, tag, canonicalRelease.id, [ + createdRelease, + ...recentReleases, + ]); + return canonicalRelease; + } + + if (attempt < attempts) { + console.log( + `Release ${createdRelease.id} is not yet discoverable by tag ${tag}, retrying... (${ + attempts - attempt + } retries remaining)`, + ); + await sleep(CREATED_RELEASE_DISCOVERY_RETRY_DELAY_MS); + } + } + + console.log( + `⚠️ Continuing with newly created release ${createdRelease.id} because tag ${tag} is still not discoverable`, + ); + return createdRelease; +} + async function createRelease( tag: string, config: Config, @@ -342,23 +892,22 @@ async function createRelease( discussion_category_name: string | undefined, generate_release_notes: boolean | undefined, maxRetries: number, -) { + previous_tag_name: string | undefined, +): Promise { const tag_name = tag; const name = config.input_name || tag; const body = releaseBody(config); - const draft = config.input_draft; const prerelease = config.input_prerelease; + const draft = prerelease === true ? config.input_draft === true : true; const target_commitish = config.input_target_commitish; const make_latest = config.input_make_latest; - let commitMessage: string = ""; + let commitMessage: string = ''; if (target_commitish) { commitMessage = ` using commit "${target_commitish}"`; } - console.log( - `👩‍🏭 Creating new GitHub release for tag ${tag_name}${commitMessage}...`, - ); + console.log(`👩‍🏭 Creating new GitHub release for tag ${tag_name}${commitMessage}...`); try { - let release = await releaser.createRelease({ + const createdRelease = await releaser.createRelease({ owner, repo, tag_name, @@ -370,8 +919,20 @@ async function createRelease( discussion_category_name, generate_release_notes, make_latest, + previous_tag_name, }); - return release.data; + const canonicalRelease = await canonicalizeCreatedRelease( + releaser, + owner, + repo, + tag_name, + createdRelease.data, + maxRetries, + ); + return { + release: canonicalRelease, + created: canonicalRelease.id === createdRelease.data.id, + }; } catch (error) { // presume a race with competing matrix runs console.log(`⚠️ GitHub release failed with status: ${error.status}`); @@ -380,20 +941,44 @@ async function createRelease( switch (error.status) { case 403: console.log( - "Skip retry — your GitHub token/PAT does not have the required permission to create a release", + 'Skip retry — your GitHub token/PAT does not have the required permission to create a release', ); throw error; case 404: - console.log("Skip retry - discussion category mismatch"); + console.log('Skip retry - discussion category mismatch'); throw error; case 422: - console.log("Skip retry - validation failed"); - throw error; + // Check if this is a race condition with "already_exists" error + const errorData = error.response?.data; + if (errorData?.errors?.[0]?.code === 'already_exists') { + console.log( + '⚠️ Release already exists (race condition detected), retrying to find and update existing release...', + ); + // Don't throw - allow retry to find existing release + } else { + console.log('Skip retry - validation failed'); + throw error; + } + break; } console.log(`retrying... (${maxRetries - 1} retries remaining)`); return release(config, releaser, maxRetries - 1); } } + +function isTagCreationBlockedError(error: any): boolean { + const errors = error?.response?.data?.errors; + if (!Array.isArray(errors) || error?.status !== 422) { + return false; + } + + return errors.some( + ({ field, message }: { field?: string; message?: string }) => + field === 'pre_receive' && + typeof message === 'string' && + message.includes('creations being restricted'), + ); +} diff --git a/src/main.ts b/src/main.ts index 2168f13..6271717 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,28 +1,18 @@ -import { - paths, - parseConfig, - isTag, - unmatchedPatterns, - uploadUrl, -} from "./util"; -import { release, upload, GitHubReleaser } from "./github"; -import { getOctokit } from "@actions/github"; -import { setFailed, setOutput } from "@actions/core"; +import { setFailed, setOutput } from '@actions/core'; +import { getOctokit } from '@actions/github'; +import { GitHubReleaser, release, finalizeRelease, upload, listReleaseAssets } from './github'; +import { isTag, parseConfig, paths, unmatchedPatterns, uploadUrl } from './util'; -import { env } from "process"; +import { env } from 'process'; async function run() { try { const config = parseConfig(env); - if ( - !config.input_tag_name && - !isTag(config.github_ref) && - !config.input_draft - ) { + if (!config.input_tag_name && !isTag(config.github_ref) && !config.input_draft) { throw new Error(`⚠️ GitHub Releases requires a tag`); } if (config.input_files) { - const patterns = unmatchedPatterns(config.input_files); + const patterns = unmatchedPatterns(config.input_files, config.input_working_directory); patterns.forEach((pattern) => { if (config.input_fail_on_unmatched_files) { throw new Error(`⚠️ Pattern '${pattern}' does not match any files.`); @@ -44,9 +34,7 @@ async function run() { //new oktokit( throttle: { onRateLimit: (retryAfter, options) => { - console.warn( - `Request quota exhausted for request ${options.method} ${options.url}`, - ); + console.warn(`Request quota exhausted for request ${options.method} ${options.url}`); if (options.request.retryCount === 0) { // only retries once console.log(`Retrying after ${retryAfter} seconds!`); @@ -55,52 +43,69 @@ async function run() { }, onAbuseLimit: (retryAfter, options) => { // does not retry, only logs a warning - console.warn( - `Abuse detected for request ${options.method} ${options.url}`, - ); + console.warn(`Abuse detected for request ${options.method} ${options.url}`); }, }, }); //); - const rel = await release(config, new GitHubReleaser(gh)); + const releaser = new GitHubReleaser(gh); + const releaseResult = await release(config, releaser); + let rel = releaseResult.release; + const releaseWasCreated = releaseResult.created; + let uploadedAssetIds: Set = new Set(); if (config.input_files && config.input_files.length > 0) { - const files = paths(config.input_files); + const files = paths(config.input_files, config.input_working_directory); if (files.length == 0) { if (config.input_fail_on_unmatched_files) { - throw new Error(`⚠️ ${config.input_files} not include valid file.`); + throw new Error(`⚠️ ${config.input_files} does not include a valid file.`); } else { - console.warn(`🤔 ${config.input_files} not include valid file.`); + console.warn(`🤔 ${config.input_files} does not include a valid file.`); } } const currentAssets = rel.assets; - const uploadFile = async (path) => { - const json = await upload( - config, - gh, - uploadUrl(rel.upload_url), - path, - currentAssets, - ); - delete json.uploader; - return json; + const uploadFile = async (path: string) => { + const json = await upload(config, releaser, uploadUrl(rel.upload_url), path, currentAssets); + return json ? (json.id as number) : undefined; }; - let assets; + let results: (number | undefined)[]; if (!config.input_preserve_order) { - assets = await Promise.all(files.map(uploadFile)); + results = await Promise.all(files.map(uploadFile)); } else { - assets = []; + results = []; for (const path of files) { - assets.push(await uploadFile(path)); + results.push(await uploadFile(path)); } } - setOutput("assets", assets); + + uploadedAssetIds = new Set(results.filter((id): id is number => id !== undefined)); } + + console.log('Finalizing release...'); + rel = await finalizeRelease(config, releaser, rel, releaseWasCreated); + + // Draft releases use temporary "untagged-..." URLs for assets. + // URLs will be changed to correct ones once the release is published. + console.log('Getting assets list...'); + { + let assets: any[] = []; + if (uploadedAssetIds.size > 0) { + const updatedAssets = await listReleaseAssets(config, releaser, rel); + assets = updatedAssets + .filter((a) => uploadedAssetIds.has(a.id)) + .map((a) => { + const { uploader, ...rest } = a; + return rest; + }); + } + setOutput('assets', assets); + } + console.log(`🎉 Release ready at ${rel.html_url}`); - setOutput("url", rel.html_url); - setOutput("id", rel.id.toString()); - setOutput("upload_url", rel.upload_url); + setOutput('url', rel.html_url); + setOutput('id', rel.id.toString()); + setOutput('upload_url', rel.upload_url); } catch (error) { setFailed(error.message); } diff --git a/src/util.ts b/src/util.ts index 20d5c2d..49a81d9 100644 --- a/src/util.ts +++ b/src/util.ts @@ -1,5 +1,7 @@ -import * as glob from "glob"; -import { statSync, readFileSync } from "fs"; +import * as glob from 'glob'; +import { statSync, readFileSync } from 'fs'; +import { homedir } from 'os'; +import * as pathLib from 'path'; export interface Config { github_token: string; @@ -12,6 +14,8 @@ export interface Config { input_body?: string; input_body_path?: string; input_files?: string[]; + input_working_directory?: string; + input_overwrite_files?: boolean; input_draft?: boolean; input_preserve_order?: boolean; input_prerelease?: boolean; @@ -19,12 +23,13 @@ export interface Config { input_target_commitish?: string; input_discussion_category_name?: string; input_generate_release_notes?: boolean; + input_previous_tag?: string; input_append_body?: boolean; - input_make_latest: "true" | "false" | "legacy" | undefined; + input_make_latest: 'true' | 'false' | 'legacy' | undefined; } export const uploadUrl = (url: string): string => { - const templateMarkerPos = url.indexOf("{"); + const templateMarkerPos = url.indexOf('{'); if (templateMarkerPos > -1) { return url.substring(0, templateMarkerPos); } @@ -32,84 +37,167 @@ export const uploadUrl = (url: string): string => { }; export const releaseBody = (config: Config): string | undefined => { - return ( - (config.input_body_path && - readFileSync(config.input_body_path).toString("utf8")) || - config.input_body - ); + if (config.input_body_path) { + try { + const contents = readFileSync(config.input_body_path, 'utf8'); + return contents; + } catch (err: any) { + console.warn( + `⚠️ Failed to read body_path "${config.input_body_path}" (${err?.code ?? 'ERR'}). Falling back to 'body' input.`, + ); + } + } + return config.input_body; }; type Env = { [key: string]: string | undefined }; +const smartSplit = (input: string): string[] => { + const result: string[] = []; + let current = ''; + let braceDepth = 0; + + for (const ch of input) { + if (ch === '{') { + braceDepth++; + } + if (ch === '}') { + braceDepth--; + } + if (ch === ',' && braceDepth === 0) { + if (current.trim()) { + result.push(current.trim()); + } + current = ''; + } else { + current += ch; + } + } + if (current.trim()) { + result.push(current.trim()); + } + return result; +}; + export const parseInputFiles = (files: string): string[] => { - return files.split(/\r?\n/).reduce( - (acc, line) => - acc - .concat(line.split(",")) - .filter((pat) => pat) - .map((pat) => pat.trim()), - [], - ); + return files + .split(/\r?\n/) + .flatMap((line) => smartSplit(line)) + .filter((pat) => pat.trim() !== ''); +}; + +const parseToken = (env: Env): string => { + const inputToken = env.INPUT_TOKEN?.trim(); + if (inputToken) { + return inputToken; + } + return env.GITHUB_TOKEN?.trim() || ''; }; export const parseConfig = (env: Env): Config => { return { - github_token: env.GITHUB_TOKEN || env.INPUT_TOKEN || "", - github_ref: env.GITHUB_REF || "", - github_repository: env.INPUT_REPOSITORY || env.GITHUB_REPOSITORY || "", + github_token: parseToken(env), + github_ref: env.GITHUB_REF || '', + github_repository: env.INPUT_REPOSITORY || env.GITHUB_REPOSITORY || '', input_name: env.INPUT_NAME, - input_tag_name: env.INPUT_TAG_NAME?.trim(), + input_tag_name: normalizeTagName(env.INPUT_TAG_NAME?.trim()), input_body: env.INPUT_BODY, input_body_path: env.INPUT_BODY_PATH, - input_files: parseInputFiles(env.INPUT_FILES || ""), - input_draft: env.INPUT_DRAFT ? env.INPUT_DRAFT === "true" : undefined, - input_preserve_order: env.INPUT_PRESERVE_ORDER - ? env.INPUT_PRESERVE_ORDER == "true" + input_files: parseInputFiles(env.INPUT_FILES || ''), + input_working_directory: env.INPUT_WORKING_DIRECTORY || undefined, + input_overwrite_files: env.INPUT_OVERWRITE_FILES + ? env.INPUT_OVERWRITE_FILES == 'true' : undefined, - input_prerelease: env.INPUT_PRERELEASE - ? env.INPUT_PRERELEASE == "true" - : undefined, - input_fail_on_unmatched_files: env.INPUT_FAIL_ON_UNMATCHED_FILES == "true", + input_draft: env.INPUT_DRAFT ? env.INPUT_DRAFT === 'true' : undefined, + input_preserve_order: env.INPUT_PRESERVE_ORDER ? env.INPUT_PRESERVE_ORDER == 'true' : undefined, + input_prerelease: env.INPUT_PRERELEASE ? env.INPUT_PRERELEASE == 'true' : undefined, + input_fail_on_unmatched_files: env.INPUT_FAIL_ON_UNMATCHED_FILES == 'true', input_target_commitish: env.INPUT_TARGET_COMMITISH || undefined, - input_discussion_category_name: - env.INPUT_DISCUSSION_CATEGORY_NAME || undefined, - input_generate_release_notes: env.INPUT_GENERATE_RELEASE_NOTES == "true", - input_append_body: env.INPUT_APPEND_BODY == "true", + input_discussion_category_name: env.INPUT_DISCUSSION_CATEGORY_NAME || undefined, + input_generate_release_notes: env.INPUT_GENERATE_RELEASE_NOTES == 'true', + input_previous_tag: env.INPUT_PREVIOUS_TAG?.trim() || undefined, + input_append_body: env.INPUT_APPEND_BODY == 'true', input_make_latest: parseMakeLatest(env.INPUT_MAKE_LATEST), }; }; -const parseMakeLatest = ( - value: string | undefined, -): "true" | "false" | "legacy" | undefined => { - if (value === "true" || value === "false" || value === "legacy") { +const parseMakeLatest = (value: string | undefined): 'true' | 'false' | 'legacy' | undefined => { + if (value === 'true' || value === 'false' || value === 'legacy') { return value; } return undefined; }; -export const paths = (patterns: string[]): string[] => { +export const normalizeGlobPattern = ( + pattern: string, + platform: NodeJS.Platform = process.platform, +): string => { + if (platform === 'win32') { + return pattern.replace(/\\/g, '/'); + } + return pattern; +}; + +export const expandHomePattern = (pattern: string, homeDirectory: string = homedir()): string => { + if (pattern === '~') { + return homeDirectory; + } + if (pattern.startsWith('~/') || pattern.startsWith('~\\')) { + return pathLib.join(homeDirectory, pattern.slice(2)); + } + return pattern; +}; + +export const normalizeFilePattern = ( + pattern: string, + platform: NodeJS.Platform = process.platform, + homeDirectory: string = homedir(), +): string => { + return normalizeGlobPattern(expandHomePattern(pattern, homeDirectory), platform); +}; + +export const paths = (patterns: string[], cwd?: string): string[] => { return patterns.reduce((acc: string[], pattern: string): string[] => { - return acc.concat( - glob.sync(pattern).filter((path) => statSync(path).isFile()), - ); + const matches = glob.sync(normalizeFilePattern(pattern), { cwd, dot: true, absolute: false }); + const resolved = matches + .map((p) => (cwd && !pathLib.isAbsolute(p) ? pathLib.join(cwd, p) : p)) + .filter((p) => { + try { + return statSync(p).isFile(); + } catch { + return false; + } + }); + return acc.concat(resolved); }, []); }; -export const unmatchedPatterns = (patterns: string[]): string[] => { +export const unmatchedPatterns = (patterns: string[], cwd?: string): string[] => { return patterns.reduce((acc: string[], pattern: string): string[] => { - return acc.concat( - glob.sync(pattern).filter((path) => statSync(path).isFile()).length == 0 - ? [pattern] - : [], - ); + const matches = glob.sync(normalizeFilePattern(pattern), { cwd, dot: true, absolute: false }); + const files = matches.filter((p) => { + try { + const full = cwd && !pathLib.isAbsolute(p) ? pathLib.join(cwd, p) : p; + return statSync(full).isFile(); + } catch { + return false; + } + }); + return acc.concat(files.length == 0 ? [pattern] : []); }, []); }; export const isTag = (ref: string): boolean => { - return ref.startsWith("refs/tags/"); + return ref.startsWith('refs/tags/'); +}; + +export const normalizeTagName = (tag: string | undefined): string | undefined => { + if (!tag) { + return tag; + } + return isTag(tag) ? tag.replace('refs/tags/', '') : tag; }; export const alignAssetName = (assetName: string): string => { - return assetName.replace(/ /g, "."); + return assetName.replace(/ /g, '.'); }; diff --git a/tsconfig.json b/tsconfig.json index df4369e..b5d7668 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -3,8 +3,8 @@ "useUnknownInCatchVariables": false, /* Basic Options */ // "incremental": true, /* Enable incremental compilation */ - "target": "es6", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019' or 'ESNEXT'. */ - "module": "commonjs", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */ + "target": "es2022", + "module": "NodeNext", // "allowJs": true, /* Allow javascript files to be compiled. */ // "checkJs": true, /* Report errors in .js files. */ // "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */ @@ -25,6 +25,7 @@ /* Strict Type-Checking Options */ "strict": true, /* Enable all strict type-checking options. */ "noImplicitAny": false, /* Raise error on expressions and declarations with an implied 'any' type. */ + "skipLibCheck": true, // "strictNullChecks": true, /* Enable strict null checks. */ // "strictFunctionTypes": true, /* Enable strict checking of function types. */ // "strictBindCallApply": true, /* Enable strict 'bind', 'call', and 'apply' methods on functions. */ @@ -44,7 +45,7 @@ // "paths": {}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */ // "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */ // "typeRoots": [], /* List of folders to include type definitions from. */ - // "types": [], /* Type declaration files to be included in compilation. */ + "types": ["node", "vitest/globals"], // "allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */ "esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */ // "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */ @@ -60,5 +61,5 @@ // "experimentalDecorators": true, /* Enables experimental support for ES7 decorators. */ // "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */ }, - "exclude": ["node_modules", "**/*.test.ts", "jest.config.ts"] + "exclude": ["node_modules", "**/*.test.ts", "vitest.config.ts"] } diff --git a/vitest.config.ts b/vitest.config.ts new file mode 100644 index 0000000..09a6bad --- /dev/null +++ b/vitest.config.ts @@ -0,0 +1,11 @@ +import { defineConfig } from 'vitest/config'; + +export default defineConfig({ + test: { + environment: 'node', + coverage: { + reporter: ['text', 'lcov'], + }, + include: ['__tests__/**/*.ts'], + }, +});