Full Code of requarks/changelog-action for AI

main 51292dd6c2f9 cached
14 files
1.7 MB
508.7k tokens
1624 symbols
1 requests
Download .txt
Showing preview only (1,777K chars total). Download the full file or copy to clipboard to get everything.
Repository: requarks/changelog-action
Branch: main
Commit: 51292dd6c2f9
Files: 14
Total size: 1.7 MB

Directory structure:
gitextract_iyraw_xv/

├── .editorconfig
├── .eslintrc
├── .github/
│   └── workflows/
│       └── deploy.yml
├── .gitignore
├── .npmrc
├── .vscode/
│   └── settings.json
├── CHANGELOG.md
├── LICENSE
├── README.md
├── action.yml
├── dist/
│   └── index.js
├── index.js
├── index.test.js
└── package.json

================================================
FILE CONTENTS
================================================

================================================
FILE: .editorconfig
================================================
root = true

[*]
charset = utf-8
indent_style = space
indent_size = 2
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true

[*.md]
trim_trailing_whitespace = false

================================================
FILE: .eslintrc
================================================
{
  "root": true,
  "extends": "standard"
}


================================================
FILE: .github/workflows/deploy.yml
================================================
name: Deploy

on:
  workflow_dispatch:

jobs:
  deploy:
    runs-on: ubuntu-latest

    steps:
      - name: Checkout Code
        uses: actions/checkout@v5
        if: ${{ !env.ACT }}
        with:
          fetch-depth: 0

      - name: Get Next Version
        id: semver
        uses: ietf-tools/semver-action@v1
        if: ${{ !env.ACT }}
        with:
          token: ${{ github.token }}
          branch: main

      - name: Create Draft Release
        uses: ncipollo/release-action@v1.12.0
        if: ${{ !env.ACT }}
        with:
          prerelease: true
          draft: false
          commit: ${{ github.sha }}
          tag: ${{ steps.semver.outputs.next }}
          name: ${{ steps.semver.outputs.next }}
          body: '*pending*'
          token: ${{ github.token }}

      - name: Update CHANGELOG
        if: ${{ !env.ACT }}
        id: changelog
        uses: ./
        with:
          token: ${{ github.token }}
          tag: ${{ steps.semver.outputs.next }}

      - name: Create Release
        if: ${{ !env.ACT }}
        uses: ncipollo/release-action@v1.12.0
        with:
          allowUpdates: true
          draft: false
          makeLatest: true
          tag: ${{ steps.semver.outputs.next }}
          name: ${{ steps.semver.outputs.next }}
          body: ${{ steps.changelog.outputs.changes }}
          token: ${{ github.token }}

      - name: Create Release (Major-only)
        if: ${{ !env.ACT }}
        uses: ncipollo/release-action@v1.12.0
        with:
          allowUpdates: true
          draft: false
          commit: ${{ github.sha }}
          tag: ${{ steps.semver.outputs.nextMajor }}
          name: ${{ steps.semver.outputs.nextMajor }}
          body: ${{ steps.changelog.outputs.changes }}
          token: ${{ github.token }}

      - name: Commit CHANGELOG.md
        if: ${{ !env.ACT }}
        uses: stefanzweifel/git-auto-commit-action@v4
        with:
          branch: main
          commit_message: 'docs: update CHANGELOG.md for ${{ github.ref_name }} [skip ci]'
          file_pattern: CHANGELOG.md

      # LOCAL TEST

      - name: (local) Checkout Code
        uses: actions/checkout@v5
        if: ${{ env.ACT }}
        with:
          path: changelog-action

      - name: (local) Update CHANGELOG
        if: ${{ env.ACT }}
        uses: ./
        with:
          token: ${{ github.token }}
          tag: ${{ env.GITHUB_REF_NAME }}


================================================
FILE: .gitignore
================================================
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*

# Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json

# Runtime data
pids
*.pid
*.seed
*.pid.lock

# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov

# Coverage directory used by tools like istanbul
coverage
*.lcov

# nyc test coverage
.nyc_output

# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
.grunt

# Bower dependency directory (https://bower.io/)
bower_components

# node-waf configuration
.lock-wscript

# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release

# Dependency directories
node_modules/
jspm_packages/

# TypeScript v1 declaration files
typings/

# TypeScript cache
*.tsbuildinfo

# Optional npm cache directory
.npm

# Optional eslint cache
.eslintcache

# Microbundle cache
.rpt2_cache/
.rts2_cache_cjs/
.rts2_cache_es/
.rts2_cache_umd/

# Optional REPL history
.node_repl_history

# Output of 'npm pack'
*.tgz

# Yarn Integrity file
.yarn-integrity

# dotenv environment variables file
.env
.env.test

# parcel-bundler cache (https://parceljs.org/)
.cache

# Next.js build output
.next

# Nuxt.js build / generate output
.nuxt

# Gatsby files
.cache/
# Comment in the public line in if your project uses Gatsby and *not* Next.js
# https://nextjs.org/blog/next-9-1#public-directory-support
# public

# vuepress build output
.vuepress/dist

# Serverless directories
.serverless/

# FuseBox cache
.fusebox/

# DynamoDB Local files
.dynamodb/

# TernJS port file
.tern-port

workflow
test-output.md


================================================
FILE: .npmrc
================================================
save-exact = true
save-prefix = ""
fund = false
audit = false


================================================
FILE: .vscode/settings.json
================================================
{
  "yaml.schemas": {
    "https://json.schemastore.org/github-workflow.json": "file:///x%3A/_/changelog-action/.github/workflows/deploy.yml"
  }
}


================================================
FILE: CHANGELOG.md
================================================
# Changelog
All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [v1.10.3] - 2025-09-08
### :bug: Bug Fixes
- [`4fe6d8d`](https://github.com/requarks/changelog-action/commit/4fe6d8d4e49245e9cef5237fa0f07110930a2a11) - omit arrow icon in related issues when useGitmojis is false *(commit by [@NGPixel](https://github.com/NGPixel))*

### :wrench: Chores
- [`b78a335`](https://github.com/requarks/changelog-action/commit/b78a3354a01f4a1affb484b9264b506a815c46b1) - update dependencies + move to node 24 *(commit by [@NGPixel](https://github.com/NGPixel))*


## [v1.10.2] - 2024-04-25
### :bug: Bug Fixes
- [`6d71e09`](https://github.com/requarks/changelog-action/commit/6d71e098526ee17bae963f058d34cd763378337f) - add end of file return to changelog file *(PR [#56](https://github.com/requarks/changelog-action/pull/56) by [@sjpalf](https://github.com/sjpalf))*
  - :arrow_lower_right: *fixes issue [#54](https://github.com/requarks/changelog-action/issues/54) opened by [@leezero-carbon](https://github.com/leezero-carbon)*


## [v1.10.1] - 2024-02-06
### :bug: Bug Fixes
- [`4a2c34a`](https://github.com/requarks/changelog-action/commit/4a2c34a1a8fcfa9e48e61960aad0affc15066393) - incorrect related issue URL in file-based changelog output *(commit by [@NGPixel](https://github.com/NGPixel))*


## [v1.10.0] - 2024-01-16
### :sparkles: New Features
- [`6f10593`](https://github.com/requarks/changelog-action/commit/6f105938d7e03ad300949d064c6ccf739e79a3d0) - add changelogFilePath option *(PR [#44](https://github.com/requarks/changelog-action/pull/44) by [@kiyoon](https://github.com/kiyoon))*


## [v1.9.0] - 2023-09-26
### :sparkles: New Features
- [`dba389d`](https://github.com/requarks/changelog-action/commit/dba389d510fcf5b8327fe14221b569489dec425d) - add excludeScopes + restrictToTypes options *(commit by [@NGPixel](https://github.com/NGPixel))*

### :bug: Bug Fixes
- [`1fabc7b`](https://github.com/requarks/changelog-action/commit/1fabc7b0c6581d93c398246a856f084fb17cd9eb) - omit empty type exclusions *(commit by [@NGPixel](https://github.com/NGPixel))*


## [v1.8.2] - 2023-09-05
### :bug: Bug Fixes
- [`19f583f`](https://github.com/requarks/changelog-action/commit/19f583f53722c093319992282c8efb8a956efd64) - action.yml output name *(PR [#30](https://github.com/requarks/changelog-action/pull/30) by [@cupofme](https://github.com/cupofme))*
  - :arrow_lower_right: *fixes issue [#29](undefined) opened by [@cupofme](https://github.com/cupofme)*


## [v1.8.1] - 2023-06-12
### :bug: Bug Fixes
- [`cb9cac1`](https://github.com/requarks/changelog-action/commit/cb9cac16822feb7033a12db5731511e82f106d5c) - handle related PR issues query failures *(commit by [@NGPixel](https://github.com/NGPixel))*


## [v1.8.0] - 2023-04-18
### :sparkles: New Features
- [`a67af14`](https://github.com/requarks/changelog-action/commit/a67af14034e62802f8a8fa856a763a76d925df0d) - add support for GHE *(PR [#25](https://github.com/requarks/changelog-action/pull/25) by [@anden-dev](https://github.com/anden-dev))*
  - :arrow_lower_right: *addresses issue [#24](undefined) opened by [@anden-dev](https://github.com/anden-dev)*


## [v1.7.0] - 2023-03-17
### :sparkles: New Features
- [`01c1b24`](https://github.com/requarks/changelog-action/commit/01c1b24b234e079288271046481d408baad64656) - add reverseOrder option to list commits from newer to older *(commit by [@NGPixel](https://github.com/NGPixel))*

### :bug: Bug Fixes
- [`94af0c3`](https://github.com/requarks/changelog-action/commit/94af0c3dfeae6180da49e87ec06a24880614c081) - handle types in uppercase *(commit by [@NGPixel](https://github.com/NGPixel))*
- [`d47b63a`](https://github.com/requarks/changelog-action/commit/d47b63a7f846dd6c4aa803c597a12d413121fd59) - handle commits with no author info *(commit by [@NGPixel](https://github.com/NGPixel))*


## [v1.6.0] - 2022-12-15
### :sparkles: New Features
- [`f64e045`](https://github.com/requarks/changelog-action/commit/f64e045b5e7d73289888b92aa7cf6b9c8443f497) - include referenced issues from PRs *(commit by [@NGPixel](https://github.com/NGPixel))*


## [v1.5.0] - 2022-11-15
### :sparkles: New Features
- [`0192e0e`](https://github.com/requarks/changelog-action/commit/0192e0ed0553ee53648e187d784ccfdefe9e16b3) - add includeInvalidCommits option *(commit by [@NGPixel](https://github.com/NGPixel))*


## [v1.4.0] - 2022-11-15
### :sparkles: New Features
- [`a823d8a`](https://github.com/requarks/changelog-action/commit/a823d8ad176c08b3ceffaab28035dcc37be7f43e) - create changelog from 2 tags *(PR [#6](https://github.com/requarks/changelog-action/pull/6) by [@sitepark-veltrup](https://github.com/sitepark-veltrup))*

### :bug: Bug Fixes
- [`af145b6`](https://github.com/requarks/changelog-action/commit/af145b6f6d1fa8b857e497c91b3120cec8c1ef36) - move breaking changes section on top + update dependencies *(commit by [@NGPixel](https://github.com/NGPixel))*


## [v1.3.2] - 2022-05-06
### :bug: Bug Fixes
- [`66a4bf2`](https://github.com/requarks/changelog-action/commit/66a4bf2663a93f4271c97e78ec54859e0b40ff95) - empty changelog warning call *(commit by [@NGPixel](https://github.com/NGPixel))*


## [v1.3.1] - 2022-04-05
### :bug: Bug Fixes
- [`9c907a6`](https://github.com/requarks/changelog-action/commit/9c907a6f903e86d4591813cbf8c20b94797c7c70) - handle commits without PR attributions + issue ID mentions *(commit by [@NGPixel](https://github.com/NGPixel))*


## [v1.3.0] - 2022-04-01
### :sparkles: New Features
- [`7c89f7ab83`](https://github.com/Requarks/changelog-action/commit/7c89f7ab832998bbd4875c40b8b90a31aac1e398) - add type headers gitmoji option

## [v1.2.3] - 2022-03-31
### Bug Fixes
- [`7e675e563d`](https://github.com/Requarks/changelog-action/commit/7e675e563d4b3d6acbd444970ef9f8f13485b130) - use github native user handles when writeToFile is false

## [v1.2.2] - 2022-02-28
### Bug Fixes
- [`d6cd890415`](https://github.com/Requarks/changelog-action/commit/d6cd890415380a3392c700513b75145485d6c9b8) - compiled action dist

## [v1.2.1] - 2022-02-16
### Bug Fixes
- [`fc9dbce5d2`](https://github.com/Requarks/changelog-action/commit/fc9dbce5d2c2d9f2bb2a8160369c15017fda74e0) - fix: handle commits count over 250

## [v1.2.0] - 2022-02-12
### New Features
- [`3cf79dbbc9`](https://github.com/Requarks/changelog-action/commit/3cf79dbbc9c2343041681314f61f478e24191e4b) - add writeToFile option


## [v1.1.1] - 2022-02-03
### Bug Fixes
- [`22fe3e5bf2`](https://github.com/Requarks/changelog-action/commit/22fe3e5bf2205d243761cbfec6c7d5c90d897051) - ensure newline before footer links


## [v1.1.0] - 2022-01-22
### Bug Fixes
- [`de73e51a92`](https://github.com/Requarks/changelog-action/commit/de73e51a9227ef957d16ed17b22650582298ca7d) - use context + auto deploy workflow
- [`60fe502cb1`](https://github.com/Requarks/changelog-action/commit/60fe502cb1bbe8d74e3e1ed7540f636506c1d7c9) - precompiled build

[v1.1.0]: https://github.com/Requarks/changelog-action/compare/v1.0.0...v1.1.0
[v1.1.1]: https://github.com/Requarks/changelog-action/compare/v1.1.0...v1.1.1
[v1.2.0]: https://github.com/Requarks/changelog-action/compare/v1.1.1...v1.2.0
[v1.2.1]: https://github.com/Requarks/changelog-action/compare/v1.2.0...v1.2.1
[v1.2.2]: https://github.com/Requarks/changelog-action/compare/v1.2.1...v1.2.2
[v1.2.3]: https://github.com/Requarks/changelog-action/compare/v1.2.2...v1.2.3
[v1.3.0]: https://github.com/Requarks/changelog-action/compare/v1.2.3...v1.3.0

[v1.3.1]: https://github.com/requarks/changelog-action/compare/v1.3.0...v1.3.1
[v1.3.2]: https://github.com/requarks/changelog-action/compare/v1.3.1...v1.3.2
[v1.4.0]: https://github.com/requarks/changelog-action/compare/v1.3.2...v1.4.0
[v1.5.0]: https://github.com/requarks/changelog-action/compare/v1.4.0...v1.5.0
[v1.6.0]: https://github.com/requarks/changelog-action/compare/v1.5.0...v1.6.0
[v1.7.0]: https://github.com/requarks/changelog-action/compare/v1.6.0...v1.7.0
[v1.8.0]: https://github.com/requarks/changelog-action/compare/v1.7.0...v1.8.0
[v1.8.1]: https://github.com/requarks/changelog-action/compare/v1.8.0...v1.8.1
[v1.8.2]: https://github.com/requarks/changelog-action/compare/v1.8.1...v1.8.2
[v1.9.0]: https://github.com/requarks/changelog-action/compare/v1.8.2...v1.9.0
[v1.10.0]: https://github.com/requarks/changelog-action/compare/v1.9.0...v1.10.0
[v1.10.1]: https://github.com/requarks/changelog-action/compare/v1.10.0...v1.10.1
[v1.10.2]: https://github.com/requarks/changelog-action/compare/v1.10.1...v1.10.2
[v1.10.3]: https://github.com/requarks/changelog-action/compare/v1.10.2...v1.10.3


================================================
FILE: LICENSE
================================================
MIT License

Copyright (c) 2022-2025 requarks.io

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.


================================================
FILE: README.md
================================================
# Changelog from Conventional Commits - Github Action

This GitHub Action automatically generates a changelog based on all the [Conventional Commits](https://www.conventionalcommits.org) between the latest tag and the previous tag, or beween 2 specific tags.

- [Features](#features)
- [Example Workflows](#example-workflows)
  - [Using the latest tag](#using-the-latest-tag)
  - [Using a specific tag range](#using-a-specific-tag-range)
- [Inputs](#inputs)
- [Outputs](#outputs)
- [Important Info](#warning-important-warning)

## Features

- Generates the CHANGELOG changes in Markdown format
- Turns PR ids into links and add the PR author.
- Prepends a shortened commit SHA ID to the commit for quick access.
- `BREAKING CHANGE` notes are added to the top of the changelog version along with the related commit.
- Exports changelog to a variable that can used in a subsequent step to create a release changelog.
- Automatically injects the changes into the CHANGELOG.md file or creates it if it doesn't exist yet. *(optional)*
- Will not mess up with any header or instructions you already have at the top of your CHANGELOG.md.
- Will not add duplicate version changes if it already exists in the CHANGELOG.md file.
- Optionally exclude types from the CHANGELOG. (default: `build,docs,other,style`)

## Example Workflows

### Using the latest tag

``` yaml
name: Deploy

on:
  push:
    tags:
      - v[0-9]+.[0-9]+.[0-9]+

jobs:
  deploy:
    runs-on: ubuntu-latest

    steps:
      - name: Checkout Code
        uses: actions/checkout@v5

      - name: Update CHANGELOG
        id: changelog
        uses: requarks/changelog-action@v1
        with:
          token: ${{ github.token }}
          tag: ${{ github.ref_name }}

      - name: Create Release
        uses: ncipollo/release-action@v1.20.0
        with:
          allowUpdates: true
          draft: false
          makeLatest: true
          name: ${{ github.ref_name }}
          body: ${{ steps.changelog.outputs.changes }}
          token: ${{ github.token }}

      - name: Commit CHANGELOG.md
        uses: stefanzweifel/git-auto-commit-action@v7
        with:
          branch: main
          commit_message: 'docs: update CHANGELOG.md for ${{ github.ref_name }} [skip ci]'
          file_pattern: CHANGELOG.md
```

### Using a specific tag range

``` yaml
name: Deploy

on:
  push:
    tags:
      - v[0-9]+.[0-9]+.[0-9]+

jobs:
  deploy:
    runs-on: ubuntu-latest

    steps:
      - name: Checkout Code
        uses: actions/checkout@v5
        with:
          fetch-depth: 0

      - name: Get previous tag
        id: previousTag
        run: |
          name=$(git --no-pager tag --sort=creatordate --merged ${{ github.ref_name }} | tail -2 | head -1)
          echo "previousTag: $name"
          echo "previousTag=$name" >> $GITHUB_ENV

      - name: Update CHANGELOG
        id: changelog
        uses: requarks/changelog-action@v1
        with:
          token: ${{ github.token }}
          fromTag: ${{ github.ref_name }}
          toTag: ${{ env.previousTag }}
          writeToFile: false

      - name: Create Release
        uses: ncipollo/release-action@v1.20.0
        with:
          allowUpdates: true
          draft: true
          makeLatest: true
          name: ${{ github.ref_name }}
          body: ${{ steps.changelog.outputs.changes }}
          token: ${{ secrets.GITHUB_TOKEN }}
```

## Inputs

| Field | Description | Required | Default |
|-------|-------------|:--------:|---------|
| `token` | Your GitHub token (e.g. `${{ github.token }}`) | :white_check_mark: | |
| `tag` | The latest tag which triggered the job. (e.g. `${{ github.ref_name }}`) | :white_check_mark: <br> *(unless using `fromTag` and `toTag`)* | |
| `fromTag` | The tag from which the changelog is to be determined (latest) | :white_check_mark: <br> *(unless using `tag`)* | |
| `toTag` | The tag up to which the changelog is to be determined (oldest) | :white_check_mark: <br> *(unless using `tag`)* | |
| `excludeTypes` | A comma-separated list of commit types you want to exclude from the changelog (e.g. `doc,chore,perf`) | :x: | `build,docs,other,style` |
| `excludeScopes` | A comma-separated list of commit scopes you want to exclude from the changelog (e.g. `dev,release`) | :x: | |
| `restrictToTypes` | A comma-separated list of commit types you want to restrict to for the changelog (e.g. `feat,fix,refactor`). Overrides `excludeTypes` if defined. | :x: | |
| `writeToFile` | Should CHANGELOG.md be updated with latest changelog | :x: | `true` |
| `changelogFilePath` | The CHANGELOG.md file path when `writeToFile` is `true` | :x: | `CHANGELOG.md` |
| `includeRefIssues` | Should the changelog include the issues referenced for each PR. | :x: | `true` |
| `useGitmojis` | Should type headers be prepended with their related gitmoji | :x: | `true` |
| `includeInvalidCommits` | Whether to include commits that don't respect the Conventional Commits format | :x: | `false` |
| `reverseOrder` | List commits in reverse order (from newer to older) instead of the default (older to newer). | :x: | `false` |

## Outputs

| Field | Description |
|-------|-------------|
| `changes` | Generated CHANGELOG changes for the latest tag, without the version / date header *(for use in GitHub Releases)*. |

## :warning: Important :warning:

You must already have 2 tags in your repository (1 previous tag + the current latest tag triggering the job). The job will exit with an error if it can't find the previous tag!


================================================
FILE: action.yml
================================================
name: 'Changelog from Conventional Commits'
description: 'Generate and update the CHANGELOG from conventional commits since latest tag or from a given tag range'
author: Nicolas Giard
inputs:
  token:
    description: GitHub Token
    required: true
  tag:
    description: The latest tag (which triggered this job) (only if using latest tag)
    required: false
  fromTag:
    description: The tag from which the changelog is to be determined (only if using tag range)
    required: false
  toTag:
    description: The tag up to which the changelog is to be determined (only if using tag range)
    required: false
  excludeTypes:
    description: Types to exclude from the Changelog
    required: false
    default: build,docs,other,style
  excludeScopes:
    description: Scopes to exclude from the Changelog
    required: false
    default: ''
  restrictToTypes:
    description: Types to restrict to for the Changelog (overrides excludeTypes if defined)
    required: false
    default: ''
  writeToFile:
    description: Should CHANGELOG.md be updated with latest changelog
    required: false
    default: 'true'
  changelogFilePath:
    description: Path to the changelog file
    required: false
    default: 'CHANGELOG.md'
  includeRefIssues:
    description: Should the changelog include the issues referenced for each PR.
    required: false
    default: 'true'
  useGitmojis:
    description: Prepend type headers with their corresponding gitmoji
    required: false
    default: 'true'
  includeInvalidCommits:
    description: Whether to include commits that don't respect the Conventional Commits format
    required: false
    default: 'false'
  reverseOrder:
    description: List commits in reverse order (from newer to older) instead of the default (older to newer).
    required: false
    default: 'false'
outputs:
  changes:
    description: Generated changelog
runs:
  using: 'node24'
  main: 'dist/index.js'
branding:
  icon: wind
  color: red


================================================
FILE: dist/index.js
================================================
/******/ (() => { // webpackBootstrap
/******/ 	var __webpack_modules__ = ({

/***/ 4914:
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {

"use strict";

var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    var desc = Object.getOwnPropertyDescriptor(m, k);
    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
      desc = { enumerable: true, get: function() { return m[k]; } };
    }
    Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
    Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
    o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
    if (mod && mod.__esModule) return mod;
    var result = {};
    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
    __setModuleDefault(result, mod);
    return result;
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.issue = exports.issueCommand = void 0;
const os = __importStar(__nccwpck_require__(857));
const utils_1 = __nccwpck_require__(302);
/**
 * Commands
 *
 * Command Format:
 *   ::name key=value,key=value::message
 *
 * Examples:
 *   ::warning::This is the message
 *   ::set-env name=MY_VAR::some value
 */
function issueCommand(command, properties, message) {
    const cmd = new Command(command, properties, message);
    process.stdout.write(cmd.toString() + os.EOL);
}
exports.issueCommand = issueCommand;
function issue(name, message = '') {
    issueCommand(name, {}, message);
}
exports.issue = issue;
const CMD_STRING = '::';
class Command {
    constructor(command, properties, message) {
        if (!command) {
            command = 'missing.command';
        }
        this.command = command;
        this.properties = properties;
        this.message = message;
    }
    toString() {
        let cmdStr = CMD_STRING + this.command;
        if (this.properties && Object.keys(this.properties).length > 0) {
            cmdStr += ' ';
            let first = true;
            for (const key in this.properties) {
                if (this.properties.hasOwnProperty(key)) {
                    const val = this.properties[key];
                    if (val) {
                        if (first) {
                            first = false;
                        }
                        else {
                            cmdStr += ',';
                        }
                        cmdStr += `${key}=${escapeProperty(val)}`;
                    }
                }
            }
        }
        cmdStr += `${CMD_STRING}${escapeData(this.message)}`;
        return cmdStr;
    }
}
function escapeData(s) {
    return (0, utils_1.toCommandValue)(s)
        .replace(/%/g, '%25')
        .replace(/\r/g, '%0D')
        .replace(/\n/g, '%0A');
}
function escapeProperty(s) {
    return (0, utils_1.toCommandValue)(s)
        .replace(/%/g, '%25')
        .replace(/\r/g, '%0D')
        .replace(/\n/g, '%0A')
        .replace(/:/g, '%3A')
        .replace(/,/g, '%2C');
}
//# sourceMappingURL=command.js.map

/***/ }),

/***/ 7484:
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {

"use strict";

var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    var desc = Object.getOwnPropertyDescriptor(m, k);
    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
      desc = { enumerable: true, get: function() { return m[k]; } };
    }
    Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
    Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
    o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
    if (mod && mod.__esModule) return mod;
    var result = {};
    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
    __setModuleDefault(result, mod);
    return result;
};
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
    return new (P || (P = Promise))(function (resolve, reject) {
        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
    });
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.platform = exports.toPlatformPath = exports.toWin32Path = exports.toPosixPath = exports.markdownSummary = exports.summary = exports.getIDToken = exports.getState = exports.saveState = exports.group = exports.endGroup = exports.startGroup = exports.info = exports.notice = exports.warning = exports.error = exports.debug = exports.isDebug = exports.setFailed = exports.setCommandEcho = exports.setOutput = exports.getBooleanInput = exports.getMultilineInput = exports.getInput = exports.addPath = exports.setSecret = exports.exportVariable = exports.ExitCode = void 0;
const command_1 = __nccwpck_require__(4914);
const file_command_1 = __nccwpck_require__(4753);
const utils_1 = __nccwpck_require__(302);
const os = __importStar(__nccwpck_require__(857));
const path = __importStar(__nccwpck_require__(6928));
const oidc_utils_1 = __nccwpck_require__(5306);
/**
 * The code to exit an action
 */
var ExitCode;
(function (ExitCode) {
    /**
     * A code indicating that the action was successful
     */
    ExitCode[ExitCode["Success"] = 0] = "Success";
    /**
     * A code indicating that the action was a failure
     */
    ExitCode[ExitCode["Failure"] = 1] = "Failure";
})(ExitCode || (exports.ExitCode = ExitCode = {}));
//-----------------------------------------------------------------------
// Variables
//-----------------------------------------------------------------------
/**
 * Sets env variable for this action and future actions in the job
 * @param name the name of the variable to set
 * @param val the value of the variable. Non-string values will be converted to a string via JSON.stringify
 */
// eslint-disable-next-line @typescript-eslint/no-explicit-any
function exportVariable(name, val) {
    const convertedVal = (0, utils_1.toCommandValue)(val);
    process.env[name] = convertedVal;
    const filePath = process.env['GITHUB_ENV'] || '';
    if (filePath) {
        return (0, file_command_1.issueFileCommand)('ENV', (0, file_command_1.prepareKeyValueMessage)(name, val));
    }
    (0, command_1.issueCommand)('set-env', { name }, convertedVal);
}
exports.exportVariable = exportVariable;
/**
 * Registers a secret which will get masked from logs
 * @param secret value of the secret
 */
function setSecret(secret) {
    (0, command_1.issueCommand)('add-mask', {}, secret);
}
exports.setSecret = setSecret;
/**
 * Prepends inputPath to the PATH (for this action and future actions)
 * @param inputPath
 */
function addPath(inputPath) {
    const filePath = process.env['GITHUB_PATH'] || '';
    if (filePath) {
        (0, file_command_1.issueFileCommand)('PATH', inputPath);
    }
    else {
        (0, command_1.issueCommand)('add-path', {}, inputPath);
    }
    process.env['PATH'] = `${inputPath}${path.delimiter}${process.env['PATH']}`;
}
exports.addPath = addPath;
/**
 * Gets the value of an input.
 * Unless trimWhitespace is set to false in InputOptions, the value is also trimmed.
 * Returns an empty string if the value is not defined.
 *
 * @param     name     name of the input to get
 * @param     options  optional. See InputOptions.
 * @returns   string
 */
function getInput(name, options) {
    const val = process.env[`INPUT_${name.replace(/ /g, '_').toUpperCase()}`] || '';
    if (options && options.required && !val) {
        throw new Error(`Input required and not supplied: ${name}`);
    }
    if (options && options.trimWhitespace === false) {
        return val;
    }
    return val.trim();
}
exports.getInput = getInput;
/**
 * Gets the values of an multiline input.  Each value is also trimmed.
 *
 * @param     name     name of the input to get
 * @param     options  optional. See InputOptions.
 * @returns   string[]
 *
 */
function getMultilineInput(name, options) {
    const inputs = getInput(name, options)
        .split('\n')
        .filter(x => x !== '');
    if (options && options.trimWhitespace === false) {
        return inputs;
    }
    return inputs.map(input => input.trim());
}
exports.getMultilineInput = getMultilineInput;
/**
 * Gets the input value of the boolean type in the YAML 1.2 "core schema" specification.
 * Support boolean input list: `true | True | TRUE | false | False | FALSE` .
 * The return value is also in boolean type.
 * ref: https://yaml.org/spec/1.2/spec.html#id2804923
 *
 * @param     name     name of the input to get
 * @param     options  optional. See InputOptions.
 * @returns   boolean
 */
function getBooleanInput(name, options) {
    const trueValue = ['true', 'True', 'TRUE'];
    const falseValue = ['false', 'False', 'FALSE'];
    const val = getInput(name, options);
    if (trueValue.includes(val))
        return true;
    if (falseValue.includes(val))
        return false;
    throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${name}\n` +
        `Support boolean input list: \`true | True | TRUE | false | False | FALSE\``);
}
exports.getBooleanInput = getBooleanInput;
/**
 * Sets the value of an output.
 *
 * @param     name     name of the output to set
 * @param     value    value to store. Non-string values will be converted to a string via JSON.stringify
 */
// eslint-disable-next-line @typescript-eslint/no-explicit-any
function setOutput(name, value) {
    const filePath = process.env['GITHUB_OUTPUT'] || '';
    if (filePath) {
        return (0, file_command_1.issueFileCommand)('OUTPUT', (0, file_command_1.prepareKeyValueMessage)(name, value));
    }
    process.stdout.write(os.EOL);
    (0, command_1.issueCommand)('set-output', { name }, (0, utils_1.toCommandValue)(value));
}
exports.setOutput = setOutput;
/**
 * Enables or disables the echoing of commands into stdout for the rest of the step.
 * Echoing is disabled by default if ACTIONS_STEP_DEBUG is not set.
 *
 */
function setCommandEcho(enabled) {
    (0, command_1.issue)('echo', enabled ? 'on' : 'off');
}
exports.setCommandEcho = setCommandEcho;
//-----------------------------------------------------------------------
// Results
//-----------------------------------------------------------------------
/**
 * Sets the action status to failed.
 * When the action exits it will be with an exit code of 1
 * @param message add error issue message
 */
function setFailed(message) {
    process.exitCode = ExitCode.Failure;
    error(message);
}
exports.setFailed = setFailed;
//-----------------------------------------------------------------------
// Logging Commands
//-----------------------------------------------------------------------
/**
 * Gets whether Actions Step Debug is on or not
 */
function isDebug() {
    return process.env['RUNNER_DEBUG'] === '1';
}
exports.isDebug = isDebug;
/**
 * Writes debug message to user log
 * @param message debug message
 */
function debug(message) {
    (0, command_1.issueCommand)('debug', {}, message);
}
exports.debug = debug;
/**
 * Adds an error issue
 * @param message error issue message. Errors will be converted to string via toString()
 * @param properties optional properties to add to the annotation.
 */
function error(message, properties = {}) {
    (0, command_1.issueCommand)('error', (0, utils_1.toCommandProperties)(properties), message instanceof Error ? message.toString() : message);
}
exports.error = error;
/**
 * Adds a warning issue
 * @param message warning issue message. Errors will be converted to string via toString()
 * @param properties optional properties to add to the annotation.
 */
function warning(message, properties = {}) {
    (0, command_1.issueCommand)('warning', (0, utils_1.toCommandProperties)(properties), message instanceof Error ? message.toString() : message);
}
exports.warning = warning;
/**
 * Adds a notice issue
 * @param message notice issue message. Errors will be converted to string via toString()
 * @param properties optional properties to add to the annotation.
 */
function notice(message, properties = {}) {
    (0, command_1.issueCommand)('notice', (0, utils_1.toCommandProperties)(properties), message instanceof Error ? message.toString() : message);
}
exports.notice = notice;
/**
 * Writes info to log with console.log.
 * @param message info message
 */
function info(message) {
    process.stdout.write(message + os.EOL);
}
exports.info = info;
/**
 * Begin an output group.
 *
 * Output until the next `groupEnd` will be foldable in this group
 *
 * @param name The name of the output group
 */
function startGroup(name) {
    (0, command_1.issue)('group', name);
}
exports.startGroup = startGroup;
/**
 * End an output group.
 */
function endGroup() {
    (0, command_1.issue)('endgroup');
}
exports.endGroup = endGroup;
/**
 * Wrap an asynchronous function call in a group.
 *
 * Returns the same type as the function itself.
 *
 * @param name The name of the group
 * @param fn The function to wrap in the group
 */
function group(name, fn) {
    return __awaiter(this, void 0, void 0, function* () {
        startGroup(name);
        let result;
        try {
            result = yield fn();
        }
        finally {
            endGroup();
        }
        return result;
    });
}
exports.group = group;
//-----------------------------------------------------------------------
// Wrapper action state
//-----------------------------------------------------------------------
/**
 * Saves state for current action, the state can only be retrieved by this action's post job execution.
 *
 * @param     name     name of the state to store
 * @param     value    value to store. Non-string values will be converted to a string via JSON.stringify
 */
// eslint-disable-next-line @typescript-eslint/no-explicit-any
function saveState(name, value) {
    const filePath = process.env['GITHUB_STATE'] || '';
    if (filePath) {
        return (0, file_command_1.issueFileCommand)('STATE', (0, file_command_1.prepareKeyValueMessage)(name, value));
    }
    (0, command_1.issueCommand)('save-state', { name }, (0, utils_1.toCommandValue)(value));
}
exports.saveState = saveState;
/**
 * Gets the value of an state set by this action's main execution.
 *
 * @param     name     name of the state to get
 * @returns   string
 */
function getState(name) {
    return process.env[`STATE_${name}`] || '';
}
exports.getState = getState;
function getIDToken(aud) {
    return __awaiter(this, void 0, void 0, function* () {
        return yield oidc_utils_1.OidcClient.getIDToken(aud);
    });
}
exports.getIDToken = getIDToken;
/**
 * Summary exports
 */
var summary_1 = __nccwpck_require__(1847);
Object.defineProperty(exports, "summary", ({ enumerable: true, get: function () { return summary_1.summary; } }));
/**
 * @deprecated use core.summary
 */
var summary_2 = __nccwpck_require__(1847);
Object.defineProperty(exports, "markdownSummary", ({ enumerable: true, get: function () { return summary_2.markdownSummary; } }));
/**
 * Path exports
 */
var path_utils_1 = __nccwpck_require__(1976);
Object.defineProperty(exports, "toPosixPath", ({ enumerable: true, get: function () { return path_utils_1.toPosixPath; } }));
Object.defineProperty(exports, "toWin32Path", ({ enumerable: true, get: function () { return path_utils_1.toWin32Path; } }));
Object.defineProperty(exports, "toPlatformPath", ({ enumerable: true, get: function () { return path_utils_1.toPlatformPath; } }));
/**
 * Platform utilities exports
 */
exports.platform = __importStar(__nccwpck_require__(8968));
//# sourceMappingURL=core.js.map

/***/ }),

/***/ 4753:
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {

"use strict";

// For internal use, subject to change.
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    var desc = Object.getOwnPropertyDescriptor(m, k);
    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
      desc = { enumerable: true, get: function() { return m[k]; } };
    }
    Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
    Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
    o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
    if (mod && mod.__esModule) return mod;
    var result = {};
    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
    __setModuleDefault(result, mod);
    return result;
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.prepareKeyValueMessage = exports.issueFileCommand = void 0;
// We use any as a valid input type
/* eslint-disable @typescript-eslint/no-explicit-any */
const crypto = __importStar(__nccwpck_require__(6982));
const fs = __importStar(__nccwpck_require__(9896));
const os = __importStar(__nccwpck_require__(857));
const utils_1 = __nccwpck_require__(302);
function issueFileCommand(command, message) {
    const filePath = process.env[`GITHUB_${command}`];
    if (!filePath) {
        throw new Error(`Unable to find environment variable for file command ${command}`);
    }
    if (!fs.existsSync(filePath)) {
        throw new Error(`Missing file at path: ${filePath}`);
    }
    fs.appendFileSync(filePath, `${(0, utils_1.toCommandValue)(message)}${os.EOL}`, {
        encoding: 'utf8'
    });
}
exports.issueFileCommand = issueFileCommand;
function prepareKeyValueMessage(key, value) {
    const delimiter = `ghadelimiter_${crypto.randomUUID()}`;
    const convertedValue = (0, utils_1.toCommandValue)(value);
    // These should realistically never happen, but just in case someone finds a
    // way to exploit uuid generation let's not allow keys or values that contain
    // the delimiter.
    if (key.includes(delimiter)) {
        throw new Error(`Unexpected input: name should not contain the delimiter "${delimiter}"`);
    }
    if (convertedValue.includes(delimiter)) {
        throw new Error(`Unexpected input: value should not contain the delimiter "${delimiter}"`);
    }
    return `${key}<<${delimiter}${os.EOL}${convertedValue}${os.EOL}${delimiter}`;
}
exports.prepareKeyValueMessage = prepareKeyValueMessage;
//# sourceMappingURL=file-command.js.map

/***/ }),

/***/ 5306:
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {

"use strict";

var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
    return new (P || (P = Promise))(function (resolve, reject) {
        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
    });
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.OidcClient = void 0;
const http_client_1 = __nccwpck_require__(4844);
const auth_1 = __nccwpck_require__(4552);
const core_1 = __nccwpck_require__(7484);
class OidcClient {
    static createHttpClient(allowRetry = true, maxRetry = 10) {
        const requestOptions = {
            allowRetries: allowRetry,
            maxRetries: maxRetry
        };
        return new http_client_1.HttpClient('actions/oidc-client', [new auth_1.BearerCredentialHandler(OidcClient.getRequestToken())], requestOptions);
    }
    static getRequestToken() {
        const token = process.env['ACTIONS_ID_TOKEN_REQUEST_TOKEN'];
        if (!token) {
            throw new Error('Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable');
        }
        return token;
    }
    static getIDTokenUrl() {
        const runtimeUrl = process.env['ACTIONS_ID_TOKEN_REQUEST_URL'];
        if (!runtimeUrl) {
            throw new Error('Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable');
        }
        return runtimeUrl;
    }
    static getCall(id_token_url) {
        var _a;
        return __awaiter(this, void 0, void 0, function* () {
            const httpclient = OidcClient.createHttpClient();
            const res = yield httpclient
                .getJson(id_token_url)
                .catch(error => {
                throw new Error(`Failed to get ID Token. \n 
        Error Code : ${error.statusCode}\n 
        Error Message: ${error.message}`);
            });
            const id_token = (_a = res.result) === null || _a === void 0 ? void 0 : _a.value;
            if (!id_token) {
                throw new Error('Response json body do not have ID Token field');
            }
            return id_token;
        });
    }
    static getIDToken(audience) {
        return __awaiter(this, void 0, void 0, function* () {
            try {
                // New ID Token is requested from action service
                let id_token_url = OidcClient.getIDTokenUrl();
                if (audience) {
                    const encodedAudience = encodeURIComponent(audience);
                    id_token_url = `${id_token_url}&audience=${encodedAudience}`;
                }
                (0, core_1.debug)(`ID token url is ${id_token_url}`);
                const id_token = yield OidcClient.getCall(id_token_url);
                (0, core_1.setSecret)(id_token);
                return id_token;
            }
            catch (error) {
                throw new Error(`Error message: ${error.message}`);
            }
        });
    }
}
exports.OidcClient = OidcClient;
//# sourceMappingURL=oidc-utils.js.map

/***/ }),

/***/ 1976:
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {

"use strict";

var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    var desc = Object.getOwnPropertyDescriptor(m, k);
    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
      desc = { enumerable: true, get: function() { return m[k]; } };
    }
    Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
    Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
    o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
    if (mod && mod.__esModule) return mod;
    var result = {};
    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
    __setModuleDefault(result, mod);
    return result;
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.toPlatformPath = exports.toWin32Path = exports.toPosixPath = void 0;
const path = __importStar(__nccwpck_require__(6928));
/**
 * toPosixPath converts the given path to the posix form. On Windows, \\ will be
 * replaced with /.
 *
 * @param pth. Path to transform.
 * @return string Posix path.
 */
function toPosixPath(pth) {
    return pth.replace(/[\\]/g, '/');
}
exports.toPosixPath = toPosixPath;
/**
 * toWin32Path converts the given path to the win32 form. On Linux, / will be
 * replaced with \\.
 *
 * @param pth. Path to transform.
 * @return string Win32 path.
 */
function toWin32Path(pth) {
    return pth.replace(/[/]/g, '\\');
}
exports.toWin32Path = toWin32Path;
/**
 * toPlatformPath converts the given path to a platform-specific path. It does
 * this by replacing instances of / and \ with the platform-specific path
 * separator.
 *
 * @param pth The path to platformize.
 * @return string The platform-specific path.
 */
function toPlatformPath(pth) {
    return pth.replace(/[/\\]/g, path.sep);
}
exports.toPlatformPath = toPlatformPath;
//# sourceMappingURL=path-utils.js.map

/***/ }),

/***/ 8968:
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {

"use strict";

var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    var desc = Object.getOwnPropertyDescriptor(m, k);
    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
      desc = { enumerable: true, get: function() { return m[k]; } };
    }
    Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
    Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
    o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
    if (mod && mod.__esModule) return mod;
    var result = {};
    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
    __setModuleDefault(result, mod);
    return result;
};
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
    return new (P || (P = Promise))(function (resolve, reject) {
        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
    });
};
var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.getDetails = exports.isLinux = exports.isMacOS = exports.isWindows = exports.arch = exports.platform = void 0;
const os_1 = __importDefault(__nccwpck_require__(857));
const exec = __importStar(__nccwpck_require__(5236));
const getWindowsInfo = () => __awaiter(void 0, void 0, void 0, function* () {
    const { stdout: version } = yield exec.getExecOutput('powershell -command "(Get-CimInstance -ClassName Win32_OperatingSystem).Version"', undefined, {
        silent: true
    });
    const { stdout: name } = yield exec.getExecOutput('powershell -command "(Get-CimInstance -ClassName Win32_OperatingSystem).Caption"', undefined, {
        silent: true
    });
    return {
        name: name.trim(),
        version: version.trim()
    };
});
const getMacOsInfo = () => __awaiter(void 0, void 0, void 0, function* () {
    var _a, _b, _c, _d;
    const { stdout } = yield exec.getExecOutput('sw_vers', undefined, {
        silent: true
    });
    const version = (_b = (_a = stdout.match(/ProductVersion:\s*(.+)/)) === null || _a === void 0 ? void 0 : _a[1]) !== null && _b !== void 0 ? _b : '';
    const name = (_d = (_c = stdout.match(/ProductName:\s*(.+)/)) === null || _c === void 0 ? void 0 : _c[1]) !== null && _d !== void 0 ? _d : '';
    return {
        name,
        version
    };
});
const getLinuxInfo = () => __awaiter(void 0, void 0, void 0, function* () {
    const { stdout } = yield exec.getExecOutput('lsb_release', ['-i', '-r', '-s'], {
        silent: true
    });
    const [name, version] = stdout.trim().split('\n');
    return {
        name,
        version
    };
});
exports.platform = os_1.default.platform();
exports.arch = os_1.default.arch();
exports.isWindows = exports.platform === 'win32';
exports.isMacOS = exports.platform === 'darwin';
exports.isLinux = exports.platform === 'linux';
function getDetails() {
    return __awaiter(this, void 0, void 0, function* () {
        return Object.assign(Object.assign({}, (yield (exports.isWindows
            ? getWindowsInfo()
            : exports.isMacOS
                ? getMacOsInfo()
                : getLinuxInfo()))), { platform: exports.platform,
            arch: exports.arch,
            isWindows: exports.isWindows,
            isMacOS: exports.isMacOS,
            isLinux: exports.isLinux });
    });
}
exports.getDetails = getDetails;
//# sourceMappingURL=platform.js.map

/***/ }),

/***/ 1847:
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {

"use strict";

var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
    return new (P || (P = Promise))(function (resolve, reject) {
        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
    });
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.summary = exports.markdownSummary = exports.SUMMARY_DOCS_URL = exports.SUMMARY_ENV_VAR = void 0;
const os_1 = __nccwpck_require__(857);
const fs_1 = __nccwpck_require__(9896);
const { access, appendFile, writeFile } = fs_1.promises;
exports.SUMMARY_ENV_VAR = 'GITHUB_STEP_SUMMARY';
exports.SUMMARY_DOCS_URL = 'https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary';
class Summary {
    constructor() {
        this._buffer = '';
    }
    /**
     * Finds the summary file path from the environment, rejects if env var is not found or file does not exist
     * Also checks r/w permissions.
     *
     * @returns step summary file path
     */
    filePath() {
        return __awaiter(this, void 0, void 0, function* () {
            if (this._filePath) {
                return this._filePath;
            }
            const pathFromEnv = process.env[exports.SUMMARY_ENV_VAR];
            if (!pathFromEnv) {
                throw new Error(`Unable to find environment variable for $${exports.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`);
            }
            try {
                yield access(pathFromEnv, fs_1.constants.R_OK | fs_1.constants.W_OK);
            }
            catch (_a) {
                throw new Error(`Unable to access summary file: '${pathFromEnv}'. Check if the file has correct read/write permissions.`);
            }
            this._filePath = pathFromEnv;
            return this._filePath;
        });
    }
    /**
     * Wraps content in an HTML tag, adding any HTML attributes
     *
     * @param {string} tag HTML tag to wrap
     * @param {string | null} content content within the tag
     * @param {[attribute: string]: string} attrs key-value list of HTML attributes to add
     *
     * @returns {string} content wrapped in HTML element
     */
    wrap(tag, content, attrs = {}) {
        const htmlAttrs = Object.entries(attrs)
            .map(([key, value]) => ` ${key}="${value}"`)
            .join('');
        if (!content) {
            return `<${tag}${htmlAttrs}>`;
        }
        return `<${tag}${htmlAttrs}>${content}</${tag}>`;
    }
    /**
     * Writes text in the buffer to the summary buffer file and empties buffer. Will append by default.
     *
     * @param {SummaryWriteOptions} [options] (optional) options for write operation
     *
     * @returns {Promise<Summary>} summary instance
     */
    write(options) {
        return __awaiter(this, void 0, void 0, function* () {
            const overwrite = !!(options === null || options === void 0 ? void 0 : options.overwrite);
            const filePath = yield this.filePath();
            const writeFunc = overwrite ? writeFile : appendFile;
            yield writeFunc(filePath, this._buffer, { encoding: 'utf8' });
            return this.emptyBuffer();
        });
    }
    /**
     * Clears the summary buffer and wipes the summary file
     *
     * @returns {Summary} summary instance
     */
    clear() {
        return __awaiter(this, void 0, void 0, function* () {
            return this.emptyBuffer().write({ overwrite: true });
        });
    }
    /**
     * Returns the current summary buffer as a string
     *
     * @returns {string} string of summary buffer
     */
    stringify() {
        return this._buffer;
    }
    /**
     * If the summary buffer is empty
     *
     * @returns {boolen} true if the buffer is empty
     */
    isEmptyBuffer() {
        return this._buffer.length === 0;
    }
    /**
     * Resets the summary buffer without writing to summary file
     *
     * @returns {Summary} summary instance
     */
    emptyBuffer() {
        this._buffer = '';
        return this;
    }
    /**
     * Adds raw text to the summary buffer
     *
     * @param {string} text content to add
     * @param {boolean} [addEOL=false] (optional) append an EOL to the raw text (default: false)
     *
     * @returns {Summary} summary instance
     */
    addRaw(text, addEOL = false) {
        this._buffer += text;
        return addEOL ? this.addEOL() : this;
    }
    /**
     * Adds the operating system-specific end-of-line marker to the buffer
     *
     * @returns {Summary} summary instance
     */
    addEOL() {
        return this.addRaw(os_1.EOL);
    }
    /**
     * Adds an HTML codeblock to the summary buffer
     *
     * @param {string} code content to render within fenced code block
     * @param {string} lang (optional) language to syntax highlight code
     *
     * @returns {Summary} summary instance
     */
    addCodeBlock(code, lang) {
        const attrs = Object.assign({}, (lang && { lang }));
        const element = this.wrap('pre', this.wrap('code', code), attrs);
        return this.addRaw(element).addEOL();
    }
    /**
     * Adds an HTML list to the summary buffer
     *
     * @param {string[]} items list of items to render
     * @param {boolean} [ordered=false] (optional) if the rendered list should be ordered or not (default: false)
     *
     * @returns {Summary} summary instance
     */
    addList(items, ordered = false) {
        const tag = ordered ? 'ol' : 'ul';
        const listItems = items.map(item => this.wrap('li', item)).join('');
        const element = this.wrap(tag, listItems);
        return this.addRaw(element).addEOL();
    }
    /**
     * Adds an HTML table to the summary buffer
     *
     * @param {SummaryTableCell[]} rows table rows
     *
     * @returns {Summary} summary instance
     */
    addTable(rows) {
        const tableBody = rows
            .map(row => {
            const cells = row
                .map(cell => {
                if (typeof cell === 'string') {
                    return this.wrap('td', cell);
                }
                const { header, data, colspan, rowspan } = cell;
                const tag = header ? 'th' : 'td';
                const attrs = Object.assign(Object.assign({}, (colspan && { colspan })), (rowspan && { rowspan }));
                return this.wrap(tag, data, attrs);
            })
                .join('');
            return this.wrap('tr', cells);
        })
            .join('');
        const element = this.wrap('table', tableBody);
        return this.addRaw(element).addEOL();
    }
    /**
     * Adds a collapsable HTML details element to the summary buffer
     *
     * @param {string} label text for the closed state
     * @param {string} content collapsable content
     *
     * @returns {Summary} summary instance
     */
    addDetails(label, content) {
        const element = this.wrap('details', this.wrap('summary', label) + content);
        return this.addRaw(element).addEOL();
    }
    /**
     * Adds an HTML image tag to the summary buffer
     *
     * @param {string} src path to the image you to embed
     * @param {string} alt text description of the image
     * @param {SummaryImageOptions} options (optional) addition image attributes
     *
     * @returns {Summary} summary instance
     */
    addImage(src, alt, options) {
        const { width, height } = options || {};
        const attrs = Object.assign(Object.assign({}, (width && { width })), (height && { height }));
        const element = this.wrap('img', null, Object.assign({ src, alt }, attrs));
        return this.addRaw(element).addEOL();
    }
    /**
     * Adds an HTML section heading element
     *
     * @param {string} text heading text
     * @param {number | string} [level=1] (optional) the heading level, default: 1
     *
     * @returns {Summary} summary instance
     */
    addHeading(text, level) {
        const tag = `h${level}`;
        const allowedTag = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'].includes(tag)
            ? tag
            : 'h1';
        const element = this.wrap(allowedTag, text);
        return this.addRaw(element).addEOL();
    }
    /**
     * Adds an HTML thematic break (<hr>) to the summary buffer
     *
     * @returns {Summary} summary instance
     */
    addSeparator() {
        const element = this.wrap('hr', null);
        return this.addRaw(element).addEOL();
    }
    /**
     * Adds an HTML line break (<br>) to the summary buffer
     *
     * @returns {Summary} summary instance
     */
    addBreak() {
        const element = this.wrap('br', null);
        return this.addRaw(element).addEOL();
    }
    /**
     * Adds an HTML blockquote to the summary buffer
     *
     * @param {string} text quote text
     * @param {string} cite (optional) citation url
     *
     * @returns {Summary} summary instance
     */
    addQuote(text, cite) {
        const attrs = Object.assign({}, (cite && { cite }));
        const element = this.wrap('blockquote', text, attrs);
        return this.addRaw(element).addEOL();
    }
    /**
     * Adds an HTML anchor tag to the summary buffer
     *
     * @param {string} text link text/content
     * @param {string} href hyperlink
     *
     * @returns {Summary} summary instance
     */
    addLink(text, href) {
        const element = this.wrap('a', text, { href });
        return this.addRaw(element).addEOL();
    }
}
const _summary = new Summary();
/**
 * @deprecated use `core.summary`
 */
exports.markdownSummary = _summary;
exports.summary = _summary;
//# sourceMappingURL=summary.js.map

/***/ }),

/***/ 302:
/***/ ((__unused_webpack_module, exports) => {

"use strict";

// We use any as a valid input type
/* eslint-disable @typescript-eslint/no-explicit-any */
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.toCommandProperties = exports.toCommandValue = void 0;
/**
 * Sanitizes an input into a string so it can be passed into issueCommand safely
 * @param input input to sanitize into a string
 */
function toCommandValue(input) {
    if (input === null || input === undefined) {
        return '';
    }
    else if (typeof input === 'string' || input instanceof String) {
        return input;
    }
    return JSON.stringify(input);
}
exports.toCommandValue = toCommandValue;
/**
 *
 * @param annotationProperties
 * @returns The command properties to send with the actual annotation command
 * See IssueCommandProperties: https://github.com/actions/runner/blob/main/src/Runner.Worker/ActionCommandManager.cs#L646
 */
function toCommandProperties(annotationProperties) {
    if (!Object.keys(annotationProperties).length) {
        return {};
    }
    return {
        title: annotationProperties.title,
        file: annotationProperties.file,
        line: annotationProperties.startLine,
        endLine: annotationProperties.endLine,
        col: annotationProperties.startColumn,
        endColumn: annotationProperties.endColumn
    };
}
exports.toCommandProperties = toCommandProperties;
//# sourceMappingURL=utils.js.map

/***/ }),

/***/ 5236:
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {

"use strict";

var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
    Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
    o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
    if (mod && mod.__esModule) return mod;
    var result = {};
    if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
    __setModuleDefault(result, mod);
    return result;
};
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
    return new (P || (P = Promise))(function (resolve, reject) {
        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
    });
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.getExecOutput = exports.exec = void 0;
const string_decoder_1 = __nccwpck_require__(3193);
const tr = __importStar(__nccwpck_require__(6665));
/**
 * Exec a command.
 * Output will be streamed to the live console.
 * Returns promise with return code
 *
 * @param     commandLine        command to execute (can include additional args). Must be correctly escaped.
 * @param     args               optional arguments for tool. Escaping is handled by the lib.
 * @param     options            optional exec options.  See ExecOptions
 * @returns   Promise<number>    exit code
 */
function exec(commandLine, args, options) {
    return __awaiter(this, void 0, void 0, function* () {
        const commandArgs = tr.argStringToArray(commandLine);
        if (commandArgs.length === 0) {
            throw new Error(`Parameter 'commandLine' cannot be null or empty.`);
        }
        // Path to tool to execute should be first arg
        const toolPath = commandArgs[0];
        args = commandArgs.slice(1).concat(args || []);
        const runner = new tr.ToolRunner(toolPath, args, options);
        return runner.exec();
    });
}
exports.exec = exec;
/**
 * Exec a command and get the output.
 * Output will be streamed to the live console.
 * Returns promise with the exit code and collected stdout and stderr
 *
 * @param     commandLine           command to execute (can include additional args). Must be correctly escaped.
 * @param     args                  optional arguments for tool. Escaping is handled by the lib.
 * @param     options               optional exec options.  See ExecOptions
 * @returns   Promise<ExecOutput>   exit code, stdout, and stderr
 */
function getExecOutput(commandLine, args, options) {
    var _a, _b;
    return __awaiter(this, void 0, void 0, function* () {
        let stdout = '';
        let stderr = '';
        //Using string decoder covers the case where a mult-byte character is split
        const stdoutDecoder = new string_decoder_1.StringDecoder('utf8');
        const stderrDecoder = new string_decoder_1.StringDecoder('utf8');
        const originalStdoutListener = (_a = options === null || options === void 0 ? void 0 : options.listeners) === null || _a === void 0 ? void 0 : _a.stdout;
        const originalStdErrListener = (_b = options === null || options === void 0 ? void 0 : options.listeners) === null || _b === void 0 ? void 0 : _b.stderr;
        const stdErrListener = (data) => {
            stderr += stderrDecoder.write(data);
            if (originalStdErrListener) {
                originalStdErrListener(data);
            }
        };
        const stdOutListener = (data) => {
            stdout += stdoutDecoder.write(data);
            if (originalStdoutListener) {
                originalStdoutListener(data);
            }
        };
        const listeners = Object.assign(Object.assign({}, options === null || options === void 0 ? void 0 : options.listeners), { stdout: stdOutListener, stderr: stdErrListener });
        const exitCode = yield exec(commandLine, args, Object.assign(Object.assign({}, options), { listeners }));
        //flush any remaining characters
        stdout += stdoutDecoder.end();
        stderr += stderrDecoder.end();
        return {
            exitCode,
            stdout,
            stderr
        };
    });
}
exports.getExecOutput = getExecOutput;
//# sourceMappingURL=exec.js.map

/***/ }),

/***/ 6665:
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {

"use strict";

var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
    Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
    o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
    if (mod && mod.__esModule) return mod;
    var result = {};
    if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
    __setModuleDefault(result, mod);
    return result;
};
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
    return new (P || (P = Promise))(function (resolve, reject) {
        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
    });
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.argStringToArray = exports.ToolRunner = void 0;
const os = __importStar(__nccwpck_require__(857));
const events = __importStar(__nccwpck_require__(4434));
const child = __importStar(__nccwpck_require__(5317));
const path = __importStar(__nccwpck_require__(6928));
const io = __importStar(__nccwpck_require__(4994));
const ioUtil = __importStar(__nccwpck_require__(5207));
const timers_1 = __nccwpck_require__(3557);
/* eslint-disable @typescript-eslint/unbound-method */
const IS_WINDOWS = process.platform === 'win32';
/*
 * Class for running command line tools. Handles quoting and arg parsing in a platform agnostic way.
 */
class ToolRunner extends events.EventEmitter {
    constructor(toolPath, args, options) {
        super();
        if (!toolPath) {
            throw new Error("Parameter 'toolPath' cannot be null or empty.");
        }
        this.toolPath = toolPath;
        this.args = args || [];
        this.options = options || {};
    }
    _debug(message) {
        if (this.options.listeners && this.options.listeners.debug) {
            this.options.listeners.debug(message);
        }
    }
    _getCommandString(options, noPrefix) {
        const toolPath = this._getSpawnFileName();
        const args = this._getSpawnArgs(options);
        let cmd = noPrefix ? '' : '[command]'; // omit prefix when piped to a second tool
        if (IS_WINDOWS) {
            // Windows + cmd file
            if (this._isCmdFile()) {
                cmd += toolPath;
                for (const a of args) {
                    cmd += ` ${a}`;
                }
            }
            // Windows + verbatim
            else if (options.windowsVerbatimArguments) {
                cmd += `"${toolPath}"`;
                for (const a of args) {
                    cmd += ` ${a}`;
                }
            }
            // Windows (regular)
            else {
                cmd += this._windowsQuoteCmdArg(toolPath);
                for (const a of args) {
                    cmd += ` ${this._windowsQuoteCmdArg(a)}`;
                }
            }
        }
        else {
            // OSX/Linux - this can likely be improved with some form of quoting.
            // creating processes on Unix is fundamentally different than Windows.
            // on Unix, execvp() takes an arg array.
            cmd += toolPath;
            for (const a of args) {
                cmd += ` ${a}`;
            }
        }
        return cmd;
    }
    _processLineBuffer(data, strBuffer, onLine) {
        try {
            let s = strBuffer + data.toString();
            let n = s.indexOf(os.EOL);
            while (n > -1) {
                const line = s.substring(0, n);
                onLine(line);
                // the rest of the string ...
                s = s.substring(n + os.EOL.length);
                n = s.indexOf(os.EOL);
            }
            return s;
        }
        catch (err) {
            // streaming lines to console is best effort.  Don't fail a build.
            this._debug(`error processing line. Failed with error ${err}`);
            return '';
        }
    }
    _getSpawnFileName() {
        if (IS_WINDOWS) {
            if (this._isCmdFile()) {
                return process.env['COMSPEC'] || 'cmd.exe';
            }
        }
        return this.toolPath;
    }
    _getSpawnArgs(options) {
        if (IS_WINDOWS) {
            if (this._isCmdFile()) {
                let argline = `/D /S /C "${this._windowsQuoteCmdArg(this.toolPath)}`;
                for (const a of this.args) {
                    argline += ' ';
                    argline += options.windowsVerbatimArguments
                        ? a
                        : this._windowsQuoteCmdArg(a);
                }
                argline += '"';
                return [argline];
            }
        }
        return this.args;
    }
    _endsWith(str, end) {
        return str.endsWith(end);
    }
    _isCmdFile() {
        const upperToolPath = this.toolPath.toUpperCase();
        return (this._endsWith(upperToolPath, '.CMD') ||
            this._endsWith(upperToolPath, '.BAT'));
    }
    _windowsQuoteCmdArg(arg) {
        // for .exe, apply the normal quoting rules that libuv applies
        if (!this._isCmdFile()) {
            return this._uvQuoteCmdArg(arg);
        }
        // otherwise apply quoting rules specific to the cmd.exe command line parser.
        // the libuv rules are generic and are not designed specifically for cmd.exe
        // command line parser.
        //
        // for a detailed description of the cmd.exe command line parser, refer to
        // http://stackoverflow.com/questions/4094699/how-does-the-windows-command-interpreter-cmd-exe-parse-scripts/7970912#7970912
        // need quotes for empty arg
        if (!arg) {
            return '""';
        }
        // determine whether the arg needs to be quoted
        const cmdSpecialChars = [
            ' ',
            '\t',
            '&',
            '(',
            ')',
            '[',
            ']',
            '{',
            '}',
            '^',
            '=',
            ';',
            '!',
            "'",
            '+',
            ',',
            '`',
            '~',
            '|',
            '<',
            '>',
            '"'
        ];
        let needsQuotes = false;
        for (const char of arg) {
            if (cmdSpecialChars.some(x => x === char)) {
                needsQuotes = true;
                break;
            }
        }
        // short-circuit if quotes not needed
        if (!needsQuotes) {
            return arg;
        }
        // the following quoting rules are very similar to the rules that by libuv applies.
        //
        // 1) wrap the string in quotes
        //
        // 2) double-up quotes - i.e. " => ""
        //
        //    this is different from the libuv quoting rules. libuv replaces " with \", which unfortunately
        //    doesn't work well with a cmd.exe command line.
        //
        //    note, replacing " with "" also works well if the arg is passed to a downstream .NET console app.
        //    for example, the command line:
        //          foo.exe "myarg:""my val"""
        //    is parsed by a .NET console app into an arg array:
        //          [ "myarg:\"my val\"" ]
        //    which is the same end result when applying libuv quoting rules. although the actual
        //    command line from libuv quoting rules would look like:
        //          foo.exe "myarg:\"my val\""
        //
        // 3) double-up slashes that precede a quote,
        //    e.g.  hello \world    => "hello \world"
        //          hello\"world    => "hello\\""world"
        //          hello\\"world   => "hello\\\\""world"
        //          hello world\    => "hello world\\"
        //
        //    technically this is not required for a cmd.exe command line, or the batch argument parser.
        //    the reasons for including this as a .cmd quoting rule are:
        //
        //    a) this is optimized for the scenario where the argument is passed from the .cmd file to an
        //       external program. many programs (e.g. .NET console apps) rely on the slash-doubling rule.
        //
        //    b) it's what we've been doing previously (by deferring to node default behavior) and we
        //       haven't heard any complaints about that aspect.
        //
        // note, a weakness of the quoting rules chosen here, is that % is not escaped. in fact, % cannot be
        // escaped when used on the command line directly - even though within a .cmd file % can be escaped
        // by using %%.
        //
        // the saving grace is, on the command line, %var% is left as-is if var is not defined. this contrasts
        // the line parsing rules within a .cmd file, where if var is not defined it is replaced with nothing.
        //
        // one option that was explored was replacing % with ^% - i.e. %var% => ^%var^%. this hack would
        // often work, since it is unlikely that var^ would exist, and the ^ character is removed when the
        // variable is used. the problem, however, is that ^ is not removed when %* is used to pass the args
        // to an external program.
        //
        // an unexplored potential solution for the % escaping problem, is to create a wrapper .cmd file.
        // % can be escaped within a .cmd file.
        let reverse = '"';
        let quoteHit = true;
        for (let i = arg.length; i > 0; i--) {
            // walk the string in reverse
            reverse += arg[i - 1];
            if (quoteHit && arg[i - 1] === '\\') {
                reverse += '\\'; // double the slash
            }
            else if (arg[i - 1] === '"') {
                quoteHit = true;
                reverse += '"'; // double the quote
            }
            else {
                quoteHit = false;
            }
        }
        reverse += '"';
        return reverse
            .split('')
            .reverse()
            .join('');
    }
    _uvQuoteCmdArg(arg) {
        // Tool runner wraps child_process.spawn() and needs to apply the same quoting as
        // Node in certain cases where the undocumented spawn option windowsVerbatimArguments
        // is used.
        //
        // Since this function is a port of quote_cmd_arg from Node 4.x (technically, lib UV,
        // see https://github.com/nodejs/node/blob/v4.x/deps/uv/src/win/process.c for details),
        // pasting copyright notice from Node within this function:
        //
        //      Copyright Joyent, Inc. and other Node contributors. All rights reserved.
        //
        //      Permission is hereby granted, free of charge, to any person obtaining a copy
        //      of this software and associated documentation files (the "Software"), to
        //      deal in the Software without restriction, including without limitation the
        //      rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
        //      sell copies of the Software, and to permit persons to whom the Software is
        //      furnished to do so, subject to the following conditions:
        //
        //      The above copyright notice and this permission notice shall be included in
        //      all copies or substantial portions of the Software.
        //
        //      THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        //      IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        //      FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
        //      AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        //      LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
        //      FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
        //      IN THE SOFTWARE.
        if (!arg) {
            // Need double quotation for empty argument
            return '""';
        }
        if (!arg.includes(' ') && !arg.includes('\t') && !arg.includes('"')) {
            // No quotation needed
            return arg;
        }
        if (!arg.includes('"') && !arg.includes('\\')) {
            // No embedded double quotes or backslashes, so I can just wrap
            // quote marks around the whole thing.
            return `"${arg}"`;
        }
        // Expected input/output:
        //   input : hello"world
        //   output: "hello\"world"
        //   input : hello""world
        //   output: "hello\"\"world"
        //   input : hello\world
        //   output: hello\world
        //   input : hello\\world
        //   output: hello\\world
        //   input : hello\"world
        //   output: "hello\\\"world"
        //   input : hello\\"world
        //   output: "hello\\\\\"world"
        //   input : hello world\
        //   output: "hello world\\" - note the comment in libuv actually reads "hello world\"
        //                             but it appears the comment is wrong, it should be "hello world\\"
        let reverse = '"';
        let quoteHit = true;
        for (let i = arg.length; i > 0; i--) {
            // walk the string in reverse
            reverse += arg[i - 1];
            if (quoteHit && arg[i - 1] === '\\') {
                reverse += '\\';
            }
            else if (arg[i - 1] === '"') {
                quoteHit = true;
                reverse += '\\';
            }
            else {
                quoteHit = false;
            }
        }
        reverse += '"';
        return reverse
            .split('')
            .reverse()
            .join('');
    }
    _cloneExecOptions(options) {
        options = options || {};
        const result = {
            cwd: options.cwd || process.cwd(),
            env: options.env || process.env,
            silent: options.silent || false,
            windowsVerbatimArguments: options.windowsVerbatimArguments || false,
            failOnStdErr: options.failOnStdErr || false,
            ignoreReturnCode: options.ignoreReturnCode || false,
            delay: options.delay || 10000
        };
        result.outStream = options.outStream || process.stdout;
        result.errStream = options.errStream || process.stderr;
        return result;
    }
    _getSpawnOptions(options, toolPath) {
        options = options || {};
        const result = {};
        result.cwd = options.cwd;
        result.env = options.env;
        result['windowsVerbatimArguments'] =
            options.windowsVerbatimArguments || this._isCmdFile();
        if (options.windowsVerbatimArguments) {
            result.argv0 = `"${toolPath}"`;
        }
        return result;
    }
    /**
     * Exec a tool.
     * Output will be streamed to the live console.
     * Returns promise with return code
     *
     * @param     tool     path to tool to exec
     * @param     options  optional exec options.  See ExecOptions
     * @returns   number
     */
    exec() {
        return __awaiter(this, void 0, void 0, function* () {
            // root the tool path if it is unrooted and contains relative pathing
            if (!ioUtil.isRooted(this.toolPath) &&
                (this.toolPath.includes('/') ||
                    (IS_WINDOWS && this.toolPath.includes('\\')))) {
                // prefer options.cwd if it is specified, however options.cwd may also need to be rooted
                this.toolPath = path.resolve(process.cwd(), this.options.cwd || process.cwd(), this.toolPath);
            }
            // if the tool is only a file name, then resolve it from the PATH
            // otherwise verify it exists (add extension on Windows if necessary)
            this.toolPath = yield io.which(this.toolPath, true);
            return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
                this._debug(`exec tool: ${this.toolPath}`);
                this._debug('arguments:');
                for (const arg of this.args) {
                    this._debug(`   ${arg}`);
                }
                const optionsNonNull = this._cloneExecOptions(this.options);
                if (!optionsNonNull.silent && optionsNonNull.outStream) {
                    optionsNonNull.outStream.write(this._getCommandString(optionsNonNull) + os.EOL);
                }
                const state = new ExecState(optionsNonNull, this.toolPath);
                state.on('debug', (message) => {
                    this._debug(message);
                });
                if (this.options.cwd && !(yield ioUtil.exists(this.options.cwd))) {
                    return reject(new Error(`The cwd: ${this.options.cwd} does not exist!`));
                }
                const fileName = this._getSpawnFileName();
                const cp = child.spawn(fileName, this._getSpawnArgs(optionsNonNull), this._getSpawnOptions(this.options, fileName));
                let stdbuffer = '';
                if (cp.stdout) {
                    cp.stdout.on('data', (data) => {
                        if (this.options.listeners && this.options.listeners.stdout) {
                            this.options.listeners.stdout(data);
                        }
                        if (!optionsNonNull.silent && optionsNonNull.outStream) {
                            optionsNonNull.outStream.write(data);
                        }
                        stdbuffer = this._processLineBuffer(data, stdbuffer, (line) => {
                            if (this.options.listeners && this.options.listeners.stdline) {
                                this.options.listeners.stdline(line);
                            }
                        });
                    });
                }
                let errbuffer = '';
                if (cp.stderr) {
                    cp.stderr.on('data', (data) => {
                        state.processStderr = true;
                        if (this.options.listeners && this.options.listeners.stderr) {
                            this.options.listeners.stderr(data);
                        }
                        if (!optionsNonNull.silent &&
                            optionsNonNull.errStream &&
                            optionsNonNull.outStream) {
                            const s = optionsNonNull.failOnStdErr
                                ? optionsNonNull.errStream
                                : optionsNonNull.outStream;
                            s.write(data);
                        }
                        errbuffer = this._processLineBuffer(data, errbuffer, (line) => {
                            if (this.options.listeners && this.options.listeners.errline) {
                                this.options.listeners.errline(line);
                            }
                        });
                    });
                }
                cp.on('error', (err) => {
                    state.processError = err.message;
                    state.processExited = true;
                    state.processClosed = true;
                    state.CheckComplete();
                });
                cp.on('exit', (code) => {
                    state.processExitCode = code;
                    state.processExited = true;
                    this._debug(`Exit code ${code} received from tool '${this.toolPath}'`);
                    state.CheckComplete();
                });
                cp.on('close', (code) => {
                    state.processExitCode = code;
                    state.processExited = true;
                    state.processClosed = true;
                    this._debug(`STDIO streams have closed for tool '${this.toolPath}'`);
                    state.CheckComplete();
                });
                state.on('done', (error, exitCode) => {
                    if (stdbuffer.length > 0) {
                        this.emit('stdline', stdbuffer);
                    }
                    if (errbuffer.length > 0) {
                        this.emit('errline', errbuffer);
                    }
                    cp.removeAllListeners();
                    if (error) {
                        reject(error);
                    }
                    else {
                        resolve(exitCode);
                    }
                });
                if (this.options.input) {
                    if (!cp.stdin) {
                        throw new Error('child process missing stdin');
                    }
                    cp.stdin.end(this.options.input);
                }
            }));
        });
    }
}
exports.ToolRunner = ToolRunner;
/**
 * Convert an arg string to an array of args. Handles escaping
 *
 * @param    argString   string of arguments
 * @returns  string[]    array of arguments
 */
function argStringToArray(argString) {
    const args = [];
    let inQuotes = false;
    let escaped = false;
    let arg = '';
    function append(c) {
        // we only escape double quotes.
        if (escaped && c !== '"') {
            arg += '\\';
        }
        arg += c;
        escaped = false;
    }
    for (let i = 0; i < argString.length; i++) {
        const c = argString.charAt(i);
        if (c === '"') {
            if (!escaped) {
                inQuotes = !inQuotes;
            }
            else {
                append(c);
            }
            continue;
        }
        if (c === '\\' && escaped) {
            append(c);
            continue;
        }
        if (c === '\\' && inQuotes) {
            escaped = true;
            continue;
        }
        if (c === ' ' && !inQuotes) {
            if (arg.length > 0) {
                args.push(arg);
                arg = '';
            }
            continue;
        }
        append(c);
    }
    if (arg.length > 0) {
        args.push(arg.trim());
    }
    return args;
}
exports.argStringToArray = argStringToArray;
class ExecState extends events.EventEmitter {
    constructor(options, toolPath) {
        super();
        this.processClosed = false; // tracks whether the process has exited and stdio is closed
        this.processError = '';
        this.processExitCode = 0;
        this.processExited = false; // tracks whether the process has exited
        this.processStderr = false; // tracks whether stderr was written to
        this.delay = 10000; // 10 seconds
        this.done = false;
        this.timeout = null;
        if (!toolPath) {
            throw new Error('toolPath must not be empty');
        }
        this.options = options;
        this.toolPath = toolPath;
        if (options.delay) {
            this.delay = options.delay;
        }
    }
    CheckComplete() {
        if (this.done) {
            return;
        }
        if (this.processClosed) {
            this._setResult();
        }
        else if (this.processExited) {
            this.timeout = timers_1.setTimeout(ExecState.HandleTimeout, this.delay, this);
        }
    }
    _debug(message) {
        this.emit('debug', message);
    }
    _setResult() {
        // determine whether there is an error
        let error;
        if (this.processExited) {
            if (this.processError) {
                error = 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) {
                error = new Error(`The process '${this.toolPath}' failed with exit code ${this.processExitCode}`);
            }
            else if (this.processStderr && this.options.failOnStdErr) {
                error = new Error(`The process '${this.toolPath}' failed because one or more lines were written to the STDERR stream`);
            }
        }
        // clear the timeout
        if (this.timeout) {
            clearTimeout(this.timeout);
            this.timeout = null;
        }
        this.done = true;
        this.emit('done', error, this.processExitCode);
    }
    static HandleTimeout(state) {
        if (state.done) {
            return;
        }
        if (!state.processClosed && state.processExited) {
            const message = `The STDIO streams did not close within ${state.delay /
                1000} seconds of the exit event from process '${state.toolPath}'. This may indicate a child process inherited the STDIO streams and has not yet exited.`;
            state._debug(message);
        }
        state._setResult();
    }
}
//# sourceMappingURL=toolrunner.js.map

/***/ }),

/***/ 1648:
/***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {

"use strict";

Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.Context = void 0;
const fs_1 = __nccwpck_require__(9896);
const os_1 = __nccwpck_require__(857);
class Context {
    /**
     * Hydrate the context from the environment
     */
    constructor() {
        var _a, _b, _c;
        this.payload = {};
        if (process.env.GITHUB_EVENT_PATH) {
            if ((0, fs_1.existsSync)(process.env.GITHUB_EVENT_PATH)) {
                this.payload = JSON.parse((0, fs_1.readFileSync)(process.env.GITHUB_EVENT_PATH, { encoding: 'utf8' }));
            }
            else {
                const path = process.env.GITHUB_EVENT_PATH;
                process.stdout.write(`GITHUB_EVENT_PATH ${path} does not exist${os_1.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 = (_a = process.env.GITHUB_API_URL) !== null && _a !== void 0 ? _a : `https://api.github.com`;
        this.serverUrl = (_b = process.env.GITHUB_SERVER_URL) !== null && _b !== void 0 ? _b : `https://github.com`;
        this.graphqlUrl =
            (_c = process.env.GITHUB_GRAPHQL_URL) !== null && _c !== void 0 ? _c : `https://api.github.com/graphql`;
    }
    get issue() {
        const payload = this.payload;
        return Object.assign(Object.assign({}, this.repo), { number: (payload.issue || payload.pull_request || payload).number });
    }
    get repo() {
        if (process.env.GITHUB_REPOSITORY) {
            const [owner, repo] = process.env.GITHUB_REPOSITORY.split('/');
            return { owner, repo };
        }
        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'");
    }
}
exports.Context = Context;
//# sourceMappingURL=context.js.map

/***/ }),

/***/ 3228:
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {

"use strict";

var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    var desc = Object.getOwnPropertyDescriptor(m, k);
    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
      desc = { enumerable: true, get: function() { return m[k]; } };
    }
    Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
    Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
    o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
    if (mod && mod.__esModule) return mod;
    var result = {};
    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
    __setModuleDefault(result, mod);
    return result;
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.getOctokit = exports.context = void 0;
const Context = __importStar(__nccwpck_require__(1648));
const utils_1 = __nccwpck_require__(8006);
exports.context = new Context.Context();
/**
 * Returns a hydrated octokit ready to use for GitHub Actions
 *
 * @param     token    the repo PAT or GITHUB_TOKEN
 * @param     options  other options to set
 */
function getOctokit(token, options, ...additionalPlugins) {
    const GitHubWithPlugins = utils_1.GitHub.plugin(...additionalPlugins);
    return new GitHubWithPlugins((0, utils_1.getOctokitOptions)(token, options));
}
exports.getOctokit = getOctokit;
//# sourceMappingURL=github.js.map

/***/ }),

/***/ 5156:
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {

"use strict";

var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    var desc = Object.getOwnPropertyDescriptor(m, k);
    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
      desc = { enumerable: true, get: function() { return m[k]; } };
    }
    Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
    Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
    o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
    if (mod && mod.__esModule) return mod;
    var result = {};
    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
    __setModuleDefault(result, mod);
    return result;
};
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
    return new (P || (P = Promise))(function (resolve, reject) {
        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
    });
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.getApiBaseUrl = exports.getProxyFetch = exports.getProxyAgentDispatcher = exports.getProxyAgent = exports.getAuthString = void 0;
const httpClient = __importStar(__nccwpck_require__(9659));
const undici_1 = __nccwpck_require__(6752);
function getAuthString(token, options) {
    if (!token && !options.auth) {
        throw new Error('Parameter token or opts.auth is required');
    }
    else if (token && options.auth) {
        throw new Error('Parameters token and opts.auth may not both be specified');
    }
    return typeof options.auth === 'string' ? options.auth : `token ${token}`;
}
exports.getAuthString = getAuthString;
function getProxyAgent(destinationUrl) {
    const hc = new httpClient.HttpClient();
    return hc.getAgent(destinationUrl);
}
exports.getProxyAgent = getProxyAgent;
function getProxyAgentDispatcher(destinationUrl) {
    const hc = new httpClient.HttpClient();
    return hc.getAgentDispatcher(destinationUrl);
}
exports.getProxyAgentDispatcher = getProxyAgentDispatcher;
function getProxyFetch(destinationUrl) {
    const httpDispatcher = getProxyAgentDispatcher(destinationUrl);
    const proxyFetch = (url, opts) => __awaiter(this, void 0, void 0, function* () {
        return (0, undici_1.fetch)(url, Object.assign(Object.assign({}, opts), { dispatcher: httpDispatcher }));
    });
    return proxyFetch;
}
exports.getProxyFetch = getProxyFetch;
function getApiBaseUrl() {
    return process.env['GITHUB_API_URL'] || 'https://api.github.com';
}
exports.getApiBaseUrl = getApiBaseUrl;
//# sourceMappingURL=utils.js.map

/***/ }),

/***/ 8006:
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {

"use strict";

var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    var desc = Object.getOwnPropertyDescriptor(m, k);
    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
      desc = { enumerable: true, get: function() { return m[k]; } };
    }
    Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
    Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
    o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
    if (mod && mod.__esModule) return mod;
    var result = {};
    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
    __setModuleDefault(result, mod);
    return result;
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.getOctokitOptions = exports.GitHub = exports.defaults = exports.context = void 0;
const Context = __importStar(__nccwpck_require__(1648));
const Utils = __importStar(__nccwpck_require__(5156));
// octokit + plugins
const core_1 = __nccwpck_require__(1897);
const plugin_rest_endpoint_methods_1 = __nccwpck_require__(4935);
const plugin_paginate_rest_1 = __nccwpck_require__(8082);
exports.context = new Context.Context();
const baseUrl = Utils.getApiBaseUrl();
exports.defaults = {
    baseUrl,
    request: {
        agent: Utils.getProxyAgent(baseUrl),
        fetch: Utils.getProxyFetch(baseUrl)
    }
};
exports.GitHub = core_1.Octokit.plugin(plugin_rest_endpoint_methods_1.restEndpointMethods, plugin_paginate_rest_1.paginateRest).defaults(exports.defaults);
/**
 * Convience function to correctly format Octokit Options to pass into the constructor.
 *
 * @param     token    the repo PAT or GITHUB_TOKEN
 * @param     options  other options to set
 */
function getOctokitOptions(token, options) {
    const opts = Object.assign({}, options || {}); // Shallow clone - don't mutate the object provided by the caller
    // Auth
    const auth = Utils.getAuthString(token, opts);
    if (auth) {
        opts.auth = auth;
    }
    return opts;
}
exports.getOctokitOptions = getOctokitOptions;
//# sourceMappingURL=utils.js.map

/***/ }),

/***/ 9659:
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {

"use strict";

/* eslint-disable @typescript-eslint/no-explicit-any */
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    var desc = Object.getOwnPropertyDescriptor(m, k);
    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
      desc = { enumerable: true, get: function() { return m[k]; } };
    }
    Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
    Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
    o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
    if (mod && mod.__esModule) return mod;
    var result = {};
    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
    __setModuleDefault(result, mod);
    return result;
};
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
    return new (P || (P = Promise))(function (resolve, reject) {
        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
    });
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.HttpClient = exports.isHttps = exports.HttpClientResponse = exports.HttpClientError = exports.getProxyUrl = exports.MediaTypes = exports.Headers = exports.HttpCodes = void 0;
const http = __importStar(__nccwpck_require__(8611));
const https = __importStar(__nccwpck_require__(5692));
const pm = __importStar(__nccwpck_require__(3335));
const tunnel = __importStar(__nccwpck_require__(770));
const undici_1 = __nccwpck_require__(6752);
var HttpCodes;
(function (HttpCodes) {
    HttpCodes[HttpCodes["OK"] = 200] = "OK";
    HttpCodes[HttpCodes["MultipleChoices"] = 300] = "MultipleChoices";
    HttpCodes[HttpCodes["MovedPermanently"] = 301] = "MovedPermanently";
    HttpCodes[HttpCodes["ResourceMoved"] = 302] = "ResourceMoved";
    HttpCodes[HttpCodes["SeeOther"] = 303] = "SeeOther";
    HttpCodes[HttpCodes["NotModified"] = 304] = "NotModified";
    HttpCodes[HttpCodes["UseProxy"] = 305] = "UseProxy";
    HttpCodes[HttpCodes["SwitchProxy"] = 306] = "SwitchProxy";
    HttpCodes[HttpCodes["TemporaryRedirect"] = 307] = "TemporaryRedirect";
    HttpCodes[HttpCodes["PermanentRedirect"] = 308] = "PermanentRedirect";
    HttpCodes[HttpCodes["BadRequest"] = 400] = "BadRequest";
    HttpCodes[HttpCodes["Unauthorized"] = 401] = "Unauthorized";
    HttpCodes[HttpCodes["PaymentRequired"] = 402] = "PaymentRequired";
    HttpCodes[HttpCodes["Forbidden"] = 403] = "Forbidden";
    HttpCodes[HttpCodes["NotFound"] = 404] = "NotFound";
    HttpCodes[HttpCodes["MethodNotAllowed"] = 405] = "MethodNotAllowed";
    HttpCodes[HttpCodes["NotAcceptable"] = 406] = "NotAcceptable";
    HttpCodes[HttpCodes["ProxyAuthenticationRequired"] = 407] = "ProxyAuthenticationRequired";
    HttpCodes[HttpCodes["RequestTimeout"] = 408] = "RequestTimeout";
    HttpCodes[HttpCodes["Conflict"] = 409] = "Conflict";
    HttpCodes[HttpCodes["Gone"] = 410] = "Gone";
    HttpCodes[HttpCodes["TooManyRequests"] = 429] = "TooManyRequests";
    HttpCodes[HttpCodes["InternalServerError"] = 500] = "InternalServerError";
    HttpCodes[HttpCodes["NotImplemented"] = 501] = "NotImplemented";
    HttpCodes[HttpCodes["BadGateway"] = 502] = "BadGateway";
    HttpCodes[HttpCodes["ServiceUnavailable"] = 503] = "ServiceUnavailable";
    HttpCodes[HttpCodes["GatewayTimeout"] = 504] = "GatewayTimeout";
})(HttpCodes || (exports.HttpCodes = HttpCodes = {}));
var Headers;
(function (Headers) {
    Headers["Accept"] = "accept";
    Headers["ContentType"] = "content-type";
})(Headers || (exports.Headers = Headers = {}));
var MediaTypes;
(function (MediaTypes) {
    MediaTypes["ApplicationJson"] = "application/json";
})(MediaTypes || (exports.MediaTypes = MediaTypes = {}));
/**
 * Returns the proxy URL, depending upon the supplied url and proxy environment variables.
 * @param serverUrl  The server URL where the request will be sent. For example, https://api.github.com
 */
function getProxyUrl(serverUrl) {
    const proxyUrl = pm.getProxyUrl(new URL(serverUrl));
    return proxyUrl ? proxyUrl.href : '';
}
exports.getProxyUrl = getProxyUrl;
const HttpRedirectCodes = [
    HttpCodes.MovedPermanently,
    HttpCodes.ResourceMoved,
    HttpCodes.SeeOther,
    HttpCodes.TemporaryRedirect,
    HttpCodes.PermanentRedirect
];
const HttpResponseRetryCodes = [
    HttpCodes.BadGateway,
    HttpCodes.ServiceUnavailable,
    HttpCodes.GatewayTimeout
];
const RetryableHttpVerbs = ['OPTIONS', 'GET', 'DELETE', 'HEAD'];
const ExponentialBackoffCeiling = 10;
const ExponentialBackoffTimeSlice = 5;
class HttpClientError extends Error {
    constructor(message, statusCode) {
        super(message);
        this.name = 'HttpClientError';
        this.statusCode = statusCode;
        Object.setPrototypeOf(this, HttpClientError.prototype);
    }
}
exports.HttpClientError = HttpClientError;
class HttpClientResponse {
    constructor(message) {
        this.message = message;
    }
    readBody() {
        return __awaiter(this, void 0, void 0, function* () {
            return new Promise((resolve) => __awaiter(this, void 0, void 0, function* () {
                let output = Buffer.alloc(0);
                this.message.on('data', (chunk) => {
                    output = Buffer.concat([output, chunk]);
                });
                this.message.on('end', () => {
                    resolve(output.toString());
                });
            }));
        });
    }
    readBodyBuffer() {
        return __awaiter(this, void 0, void 0, function* () {
            return new Promise((resolve) => __awaiter(this, void 0, void 0, function* () {
                const chunks = [];
                this.message.on('data', (chunk) => {
                    chunks.push(chunk);
                });
                this.message.on('end', () => {
                    resolve(Buffer.concat(chunks));
                });
            }));
        });
    }
}
exports.HttpClientResponse = HttpClientResponse;
function isHttps(requestUrl) {
    const parsedUrl = new URL(requestUrl);
    return parsedUrl.protocol === 'https:';
}
exports.isHttps = isHttps;
class HttpClient {
    constructor(userAgent, handlers, requestOptions) {
        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 = userAgent;
        this.handlers = handlers || [];
        this.requestOptions = requestOptions;
        if (requestOptions) {
            if (requestOptions.ignoreSslError != null) {
                this._ignoreSslError = requestOptions.ignoreSslError;
            }
            this._socketTimeout = requestOptions.socketTimeout;
            if (requestOptions.allowRedirects != null) {
                this._allowRedirects = requestOptions.allowRedirects;
            }
            if (requestOptions.allowRedirectDowngrade != null) {
                this._allowRedirectDowngrade = requestOptions.allowRedirectDowngrade;
            }
            if (requestOptions.maxRedirects != null) {
                this._maxRedirects = Math.max(requestOptions.maxRedirects, 0);
            }
            if (requestOptions.keepAlive != null) {
                this._keepAlive = requestOptions.keepAlive;
            }
            if (requestOptions.allowRetries != null) {
                this._allowRetries = requestOptions.allowRetries;
            }
            if (requestOptions.maxRetries != null) {
                this._maxRetries = requestOptions.maxRetries;
            }
        }
    }
    options(requestUrl, additionalHeaders) {
        return __awaiter(this, void 0, void 0, function* () {
            return this.request('OPTIONS', requestUrl, null, additionalHeaders || {});
        });
    }
    get(requestUrl, additionalHeaders) {
        return __awaiter(this, void 0, void 0, function* () {
            return this.request('GET', requestUrl, null, additionalHeaders || {});
        });
    }
    del(requestUrl, additionalHeaders) {
        return __awaiter(this, void 0, void 0, function* () {
            return this.request('DELETE', requestUrl, null, additionalHeaders || {});
        });
    }
    post(requestUrl, data, additionalHeaders) {
        return __awaiter(this, void 0, void 0, function* () {
            return this.request('POST', requestUrl, data, additionalHeaders || {});
        });
    }
    patch(requestUrl, data, additionalHeaders) {
        return __awaiter(this, void 0, void 0, function* () {
            return this.request('PATCH', requestUrl, data, additionalHeaders || {});
        });
    }
    put(requestUrl, data, additionalHeaders) {
        return __awaiter(this, void 0, void 0, function* () {
            return this.request('PUT', requestUrl, data, additionalHeaders || {});
        });
    }
    head(requestUrl, additionalHeaders) {
        return __awaiter(this, void 0, void 0, function* () {
            return this.request('HEAD', requestUrl, null, additionalHeaders || {});
        });
    }
    sendStream(verb, requestUrl, stream, additionalHeaders) {
        return __awaiter(this, void 0, void 0, function* () {
            return this.request(verb, requestUrl, stream, additionalHeaders);
        });
    }
    /**
     * Gets a typed object from an endpoint
     * Be aware that not found returns a null.  Other errors (4xx, 5xx) reject the promise
     */
    getJson(requestUrl, additionalHeaders = {}) {
        return __awaiter(this, void 0, void 0, function* () {
            additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson);
            const res = yield this.get(requestUrl, additionalHeaders);
            return this._processResponse(res, this.requestOptions);
        });
    }
    postJson(requestUrl, obj, additionalHeaders = {}) {
        return __awaiter(this, void 0, void 0, function* () {
            const data = JSON.stringify(obj, null, 2);
            additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson);
            additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson);
            const res = yield this.post(requestUrl, data, additionalHeaders);
            return this._processResponse(res, this.requestOptions);
        });
    }
    putJson(requestUrl, obj, additionalHeaders = {}) {
        return __awaiter(this, void 0, void 0, function* () {
            const data = JSON.stringify(obj, null, 2);
            additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson);
            additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson);
            const res = yield this.put(requestUrl, data, additionalHeaders);
            return this._processResponse(res, this.requestOptions);
        });
    }
    patchJson(requestUrl, obj, additionalHeaders = {}) {
        return __awaiter(this, void 0, void 0, function* () {
            const data = JSON.stringify(obj, null, 2);
            additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson);
            additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson);
            const res = yield this.patch(requestUrl, data, additionalHeaders);
            return this._processResponse(res, this.requestOptions);
        });
    }
    /**
     * Makes a raw http request.
     * All other methods such as get, post, patch, and request ultimately call this.
     * Prefer get, del, post and patch
     */
    request(verb, requestUrl, data, headers) {
        return __awaiter(this, void 0, void 0, function* () {
            if (this._disposed) {
                throw new Error('Client has already been disposed.');
            }
            const parsedUrl = new URL(requestUrl);
            let info = this._prepareRequest(verb, parsedUrl, headers);
            // Only perform retries on reads since writes may not be idempotent.
            const maxTries = this._allowRetries && RetryableHttpVerbs.includes(verb)
                ? this._maxRetries + 1
                : 1;
            let numTries = 0;
            let response;
            do {
                response = yield this.requestRaw(info, data);
                // Check if it's an authentication challenge
                if (response &&
                    response.message &&
                    response.message.statusCode === HttpCodes.Unauthorized) {
                    let authenticationHandler;
                    for (const handler of this.handlers) {
                        if (handler.canHandleAuthentication(response)) {
                            authenticationHandler = handler;
                            break;
                        }
                    }
                    if (authenticationHandler) {
                        return authenticationHandler.handleAuthentication(this, info, data);
                    }
                    else {
                        // We have received an unauthorized response but have no handlers to handle it.
                        // Let the response return to the caller.
                        return response;
                    }
                }
                let redirectsRemaining = this._maxRedirects;
                while (response.message.statusCode &&
                    HttpRedirectCodes.includes(response.message.statusCode) &&
                    this._allowRedirects &&
                    redirectsRemaining > 0) {
                    const redirectUrl = response.message.headers['location'];
                    if (!redirectUrl) {
                        // if there's no location to redirect to, we won't
                        break;
                    }
                    const parsedRedirectUrl = new URL(redirectUrl);
                    if (parsedUrl.protocol === 'https:' &&
                        parsedUrl.protocol !== parsedRedirectUrl.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.');
                    }
                    // we need to finish reading the response before reassigning response
                    // which will leak the open socket.
                    yield response.readBody();
                    // strip authorization header if redirected to a different hostname
                    if (parsedRedirectUrl.hostname !== parsedUrl.hostname) {
                        for (const header in headers) {
                            // header names are case insensitive
                            if (header.toLowerCase() === 'authorization') {
                                delete headers[header];
                            }
                        }
                    }
                    // let's make the request with the new redirectUrl
                    info = this._prepareRequest(verb, parsedRedirectUrl, headers);
                    response = yield this.requestRaw(info, data);
                    redirectsRemaining--;
                }
                if (!response.message.statusCode ||
                    !HttpResponseRetryCodes.includes(response.message.statusCode)) {
                    // If not a retry code, return immediately instead of retrying
                    return response;
                }
                numTries += 1;
                if (numTries < maxTries) {
                    yield response.readBody();
                    yield this._performExponentialBackoff(numTries);
                }
            } while (numTries < maxTries);
            return response;
        });
    }
    /**
     * Needs to be called if keepAlive is set to true in request options.
     */
    dispose() {
        if (this._agent) {
            this._agent.destroy();
        }
        this._disposed = true;
    }
    /**
     * Raw request.
     * @param info
     * @param data
     */
    requestRaw(info, data) {
        return __awaiter(this, void 0, void 0, function* () {
            return new Promise((resolve, reject) => {
                function callbackForResult(err, res) {
                    if (err) {
                        reject(err);
                    }
                    else if (!res) {
                        // If `err` is not passed, then `res` must be passed.
                        reject(new Error('Unknown error'));
                    }
                    else {
                        resolve(res);
                    }
                }
                this.requestRawWithCallback(info, data, callbackForResult);
            });
        });
    }
    /**
     * Raw request with callback.
     * @param info
     * @param data
     * @param onResult
     */
    requestRawWithCallback(info, data, onResult) {
        if (typeof data === 'string') {
            if (!info.options.headers) {
                info.options.headers = {};
            }
            info.options.headers['Content-Length'] = Buffer.byteLength(data, 'utf8');
        }
        let callbackCalled = false;
        function handleResult(err, res) {
            if (!callbackCalled) {
                callbackCalled = true;
                onResult(err, res);
            }
        }
        const req = info.httpModule.request(info.options, (msg) => {
            const res = new HttpClientResponse(msg);
            handleResult(undefined, res);
        });
        let socket;
        req.on('socket', sock => {
            socket = sock;
        });
        // If we ever get disconnected, we want the socket to timeout eventually
        req.setTimeout(this._socketTimeout || 3 * 60000, () => {
            if (socket) {
                socket.end();
            }
            handleResult(new Error(`Request timeout: ${info.options.path}`));
        });
        req.on('error', function (err) {
            // err has statusCode property
            // res should have headers
            handleResult(err);
        });
        if (data && typeof data === 'string') {
            req.write(data, 'utf8');
        }
        if (data && typeof data !== 'string') {
            data.on('close', function () {
                req.end();
            });
            data.pipe(req);
        }
        else {
            req.end();
        }
    }
    /**
     * Gets an http agent. This function is useful when you need an http agent that handles
     * routing through a proxy server - depending upon the url and proxy environment variables.
     * @param serverUrl  The server URL where the request will be sent. For example, https://api.github.com
     */
    getAgent(serverUrl) {
        const parsedUrl = new URL(serverUrl);
        return this._getAgent(parsedUrl);
    }
    getAgentDispatcher(serverUrl) {
        const parsedUrl = new URL(serverUrl);
        const proxyUrl = pm.getProxyUrl(parsedUrl);
        const useProxy = proxyUrl && proxyUrl.hostname;
        if (!useProxy) {
            return;
        }
        return this._getProxyAgentDispatcher(parsedUrl, proxyUrl);
    }
    _prepareRequest(method, requestUrl, headers) {
        const info = {};
        info.parsedUrl = requestUrl;
        const usingSsl = info.parsedUrl.protocol === 'https:';
        info.httpModule = usingSsl ? https : http;
        const defaultPort = usingSsl ? 443 : 80;
        info.options = {};
        info.options.host = info.parsedUrl.hostname;
        info.options.port = info.parsedUrl.port
            ? parseInt(info.parsedUrl.port)
            : defaultPort;
        info.options.path =
            (info.parsedUrl.pathname || '') + (info.parsedUrl.search || '');
        info.options.method = method;
        info.options.headers = this._mergeHeaders(headers);
        if (this.userAgent != null) {
            info.options.headers['user-agent'] = this.userAgent;
        }
        info.options.agent = this._getAgent(info.parsedUrl);
        // gives handlers an opportunity to participate
        if (this.handlers) {
            for (const handler of this.handlers) {
                handler.prepareRequest(info.options);
            }
        }
        return info;
    }
    _mergeHeaders(headers) {
        if (this.requestOptions && this.requestOptions.headers) {
            return Object.assign({}, lowercaseKeys(this.requestOptions.headers), lowercaseKeys(headers || {}));
        }
        return lowercaseKeys(headers || {});
    }
    _getExistingOrDefaultHeader(additionalHeaders, header, _default) {
        let clientHeader;
        if (this.requestOptions && this.requestOptions.headers) {
            clientHeader = lowercaseKeys(this.requestOptions.headers)[header];
        }
        return additionalHeaders[header] || clientHeader || _default;
    }
    _getAgent(parsedUrl) {
        let agent;
        const proxyUrl = pm.getProxyUrl(parsedUrl);
        const useProxy = proxyUrl && proxyUrl.hostname;
        if (this._keepAlive && useProxy) {
            agent = this._proxyAgent;
        }
        if (!useProxy) {
            agent = this._agent;
        }
        // if agent is already assigned use that agent.
        if (agent) {
            return agent;
        }
        const usingSsl = parsedUrl.protocol === 'https:';
        let maxSockets = 100;
        if (this.requestOptions) {
            maxSockets = this.requestOptions.maxSockets || http.globalAgent.maxSockets;
        }
        // This is `useProxy` again, but we need to check `proxyURl` directly for TypeScripts's flow analysis.
        if (proxyUrl && proxyUrl.hostname) {
            const agentOptions = {
                maxSockets,
                keepAlive: this._keepAlive,
                proxy: Object.assign(Object.assign({}, ((proxyUrl.username || proxyUrl.password) && {
                    proxyAuth: `${proxyUrl.username}:${proxyUrl.password}`
                })), { host: proxyUrl.hostname, port: proxyUrl.port })
            };
            let tunnelAgent;
            const overHttps = proxyUrl.protocol === 'https:';
            if (usingSsl) {
                tunnelAgent = overHttps ? tunnel.httpsOverHttps : tunnel.httpsOverHttp;
            }
            else {
                tunnelAgent = overHttps ? tunnel.httpOverHttps : tunnel.httpOverHttp;
            }
            agent = tunnelAgent(agentOptions);
            this._proxyAgent = agent;
        }
        // if tunneling agent isn't assigned create a new agent
        if (!agent) {
            const options = { keepAlive: this._keepAlive, maxSockets };
            agent = usingSsl ? new https.Agent(options) : new http.Agent(options);
            this._agent = agent;
        }
        if (usingSsl && this._ignoreSslError) {
            // we don't want to set NODE_TLS_REJECT_UNAUTHORIZED=0 since that will affect request for entire process
            // http.RequestOptions doesn't expose a way to modify RequestOptions.agent.options
            // we have to cast it to any and change it directly
            agent.options = Object.assign(agent.options || {}, {
                rejectUnauthorized: false
            });
        }
        return agent;
    }
    _getProxyAgentDispatcher(parsedUrl, proxyUrl) {
        let proxyAgent;
        if (this._keepAlive) {
            proxyAgent = this._proxyAgentDispatcher;
        }
        // if agent is already assigned use that agent.
        if (proxyAgent) {
            return proxyAgent;
        }
        const usingSsl = parsedUrl.protocol === 'https:';
        proxyAgent = new undici_1.ProxyAgent(Object.assign({ uri: proxyUrl.href, pipelining: !this._keepAlive ? 0 : 1 }, ((proxyUrl.username || proxyUrl.password) && {
            token: `Basic ${Buffer.from(`${proxyUrl.username}:${proxyUrl.password}`).toString('base64')}`
        })));
        this._proxyAgentDispatcher = proxyAgent;
        if (usingSsl && this._ignoreSslError) {
            // we don't want to set NODE_TLS_REJECT_UNAUTHORIZED=0 since that will affect request for entire process
            // http.RequestOptions doesn't expose a way to modify RequestOptions.agent.options
            // we have to cast it to any and change it directly
            proxyAgent.options = Object.assign(proxyAgent.options.requestTls || {}, {
                rejectUnauthorized: false
            });
        }
        return proxyAgent;
    }
    _performExponentialBackoff(retryNumber) {
        return __awaiter(this, void 0, void 0, function* () {
            retryNumber = Math.min(ExponentialBackoffCeiling, retryNumber);
            const ms = ExponentialBackoffTimeSlice * Math.pow(2, retryNumber);
            return new Promise(resolve => setTimeout(() => resolve(), ms));
        });
    }
    _processResponse(res, options) {
        return __awaiter(this, void 0, void 0, function* () {
            return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
                const statusCode = res.message.statusCode || 0;
                const response = {
                    statusCode,
                    result: null,
                    headers: {}
                };
                // not found leads to null obj returned
                if (statusCode === HttpCodes.NotFound) {
                    resolve(response);
                }
                // get the result from the body
                function dateTimeDeserializer(key, value) {
                    if (typeof value === 'string') {
                        const a = new Date(value);
                        if (!isNaN(a.valueOf())) {
                            return a;
                        }
                    }
                    return value;
                }
                let obj;
                let contents;
                try {
                    contents = yield res.readBody();
                    if (contents && contents.length > 0) {
                        if (options && options.deserializeDates) {
                            obj = JSON.parse(contents, dateTimeDeserializer);
                        }
                        else {
                            obj = JSON.parse(contents);
                        }
                        response.result = obj;
                    }
                    response.headers = res.message.headers;
                }
                catch (err) {
                    // Invalid resource (contents not json);  leaving result obj null
                }
                // note that 3xx redirects are handled by the http layer.
                if (statusCode > 299) {
                    let msg;
                    // if exception/error in body, attempt to get better error
                    if (obj && obj.message) {
                        msg = obj.message;
                    }
                    else if (contents && contents.length > 0) {
                        // it may be the case that the exception is in the body message as string
                        msg = contents;
                    }
                    else {
                        msg = `Failed request: (${statusCode})`;
                    }
                    const err = new HttpClientError(msg, statusCode);
                    err.result = response.result;
                    reject(err);
                }
                else {
                    resolve(response);
                }
            }));
        });
    }
}
exports.HttpClient = HttpClient;
const lowercaseKeys = (obj) => Object.keys(obj).reduce((c, k) => ((c[k.toLowerCase()] = obj[k]), c), {});
//# sourceMappingURL=index.js.map

/***/ }),

/***/ 3335:
/***/ ((__unused_webpack_module, exports) => {

"use strict";

Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.checkBypass = exports.getProxyUrl = void 0;
function getProxyUrl(reqUrl) {
    const usingSsl = reqUrl.protocol === 'https:';
    if (checkBypass(reqUrl)) {
        return undefined;
    }
    const proxyVar = (() => {
        if (usingSsl) {
            return process.env['https_proxy'] || process.env['HTTPS_PROXY'];
        }
        else {
            return process.env['http_proxy'] || process.env['HTTP_PROXY'];
        }
    })();
    if (proxyVar) {
        try {
            return new DecodedURL(proxyVar);
        }
        catch (_a) {
            if (!proxyVar.startsWith('http://') && !proxyVar.startsWith('https://'))
                return new DecodedURL(`http://${proxyVar}`);
        }
    }
    else {
        return undefined;
    }
}
exports.getProxyUrl = getProxyUrl;
function checkBypass(reqUrl) {
    if (!reqUrl.hostname) {
        return false;
    }
    const reqHost = reqUrl.hostname;
    if (isLoopbackAddress(reqHost)) {
        return true;
    }
    const noProxy = process.env['no_proxy'] || process.env['NO_PROXY'] || '';
    if (!noProxy) {
        return false;
    }
    // Determine the request port
    let reqPort;
    if (reqUrl.port) {
        reqPort = Number(reqUrl.port);
    }
    else if (reqUrl.protocol === 'http:') {
        reqPort = 80;
    }
    else if (reqUrl.protocol === 'https:') {
        reqPort = 443;
    }
    // Format the request hostname and hostname with port
    const upperReqHosts = [reqUrl.hostname.toUpperCase()];
    if (typeof reqPort === 'number') {
        upperReqHosts.push(`${upperReqHosts[0]}:${reqPort}`);
    }
    // Compare request host against noproxy
    for (const upperNoProxyItem of noProxy
        .split(',')
        .map(x => x.trim().toUpperCase())
        .filter(x => x)) {
        if (upperNoProxyItem === '*' ||
            upperReqHosts.some(x => x === upperNoProxyItem ||
                x.endsWith(`.${upperNoProxyItem}`) ||
                (upperNoProxyItem.startsWith('.') &&
                    x.endsWith(`${upperNoProxyItem}`)))) {
            return true;
        }
    }
    return false;
}
exports.checkBypass = checkBypass;
function isLoopbackAddress(host) {
    const hostLower = host.toLowerCase();
    return (hostLower === 'localhost' ||
        hostLower.startsWith('127.') ||
        hostLower.startsWith('[::1]') ||
        hostLower.startsWith('[0:0:0:0:0:0:0:1]'));
}
class DecodedURL extends URL {
    constructor(url, base) {
        super(url, base);
        this._decodedUsername = decodeURIComponent(super.username);
        this._decodedPassword = decodeURIComponent(super.password);
    }
    get username() {
        return this._decodedUsername;
    }
    get password() {
        return this._decodedPassword;
    }
}
//# sourceMappingURL=proxy.js.map

/***/ }),

/***/ 4552:
/***/ (function(__unused_webpack_module, exports) {

"use strict";

var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
    return new (P || (P = Promise))(function (resolve, reject) {
        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
    });
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.PersonalAccessTokenCredentialHandler = exports.BearerCredentialHandler = exports.BasicCredentialHandler = void 0;
class BasicCredentialHandler {
    constructor(username, password) {
        this.username = username;
        this.password = password;
    }
    prepareRequest(options) {
        if (!options.headers) {
            throw Error('The request has no headers');
        }
        options.headers['Authorization'] = `Basic ${Buffer.from(`${this.username}:${this.password}`).toString('base64')}`;
    }
    // This handler cannot handle 401
    canHandleAuthentication() {
        return false;
    }
    handleAuthentication() {
        return __awaiter(this, void 0, void 0, function* () {
            throw new Error('not implemented');
        });
    }
}
exports.BasicCredentialHandler = BasicCredentialHandler;
class BearerCredentialHandler {
    constructor(token) {
        this.token = token;
    }
    // currently implements pre-authorization
    // TODO: support preAuth = false where it hooks on 401
    prepareRequest(options) {
        if (!options.headers) {
            throw Error('The request has no headers');
        }
        options.headers['Authorization'] = `Bearer ${this.token}`;
    }
    // This handler cannot handle 401
    canHandleAuthentication() {
        return false;
    }
    handleAuthentication() {
        return __awaiter(this, void 0, void 0, function* () {
            throw new Error('not implemented');
        });
    }
}
exports.BearerCredentialHandler = BearerCredentialHandler;
class PersonalAccessTokenCredentialHandler {
    constructor(token) {
        this.token = token;
    }
    // currently implements pre-authorization
    // TODO: support preAuth = false where it hooks on 401
    prepareRequest(options) {
        if (!options.headers) {
            throw Error('The request has no headers');
        }
        options.headers['Authorization'] = `Basic ${Buffer.from(`PAT:${this.token}`).toString('base64')}`;
    }
    // This handler cannot handle 401
    canHandleAuthentication() {
        return false;
    }
    handleAuthentication() {
        return __awaiter(this, void 0, void 0, function* () {
            throw new Error('not implemented');
        });
    }
}
exports.PersonalAccessTokenCredentialHandler = PersonalAccessTokenCredentialHandler;
//# sourceMappingURL=auth.js.map

/***/ }),

/***/ 4844:
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {

"use strict";

/* eslint-disable @typescript-eslint/no-explicit-any */
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
    Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
    o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
    if (mod && mod.__esModule) return mod;
    var result = {};
    if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
    __setModuleDefault(result, mod);
    return result;
};
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
    return new (P || (P = Promise))(function (resolve, reject) {
        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
    });
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.HttpClient = exports.isHttps = exports.HttpClientResponse = exports.HttpClientError = exports.getProxyUrl = exports.MediaTypes = exports.Headers = exports.HttpCodes = void 0;
const http = __importStar(__nccwpck_require__(8611));
const https = __importStar(__nccwpck_require__(5692));
const pm = __importStar(__nccwpck_require__(4988));
const tunnel = __importStar(__nccwpck_require__(770));
var HttpCodes;
(function (HttpCodes) {
    HttpCodes[HttpCodes["OK"] = 200] = "OK";
    HttpCodes[HttpCodes["MultipleChoices"] = 300] = "MultipleChoices";
    HttpCodes[HttpCodes["MovedPermanently"] = 301] = "MovedPermanently";
    HttpCodes[HttpCodes["ResourceMoved"] = 302] = "ResourceMoved";
    HttpCodes[HttpCodes["SeeOther"] = 303] = "SeeOther";
    HttpCodes[HttpCodes["NotModified"] = 304] = "NotModified";
    HttpCodes[HttpCodes["UseProxy"] = 305] = "UseProxy";
    HttpCodes[HttpCodes["SwitchProxy"] = 306] = "SwitchProxy";
    HttpCodes[HttpCodes["TemporaryRedirect"] = 307] = "TemporaryRedirect";
    HttpCodes[HttpCodes["PermanentRedirect"] = 308] = "PermanentRedirect";
    HttpCodes[HttpCodes["BadRequest"] = 400] = "BadRequest";
    HttpCodes[HttpCodes["Unauthorized"] = 401] = "Unauthorized";
    HttpCodes[HttpCodes["PaymentRequired"] = 402] = "PaymentRequired";
    HttpCodes[HttpCodes["Forbidden"] = 403] = "Forbidden";
    HttpCodes[HttpCodes["NotFound"] = 404] = "NotFound";
    HttpCodes[HttpCodes["MethodNotAllowed"] = 405] = "MethodNotAllowed";
    HttpCodes[HttpCodes["NotAcceptable"] = 406] = "NotAcceptable";
    HttpCodes[HttpCodes["ProxyAuthenticationRequired"] = 407] = "ProxyAuthenticationRequired";
    HttpCodes[HttpCodes["RequestTimeout"] = 408] = "RequestTimeout";
    HttpCodes[HttpCodes["Conflict"] = 409] = "Conflict";
    HttpCodes[HttpCodes["Gone"] = 410] = "Gone";
    HttpCodes[HttpCodes["TooManyRequests"] = 429] = "TooManyRequests";
    HttpCodes[HttpCodes["InternalServerError"] = 500] = "InternalServerError";
    HttpCodes[HttpCodes["NotImplemented"] = 501] = "NotImplemented";
    HttpCodes[HttpCodes["BadGateway"] = 502] = "BadGateway";
    HttpCodes[HttpCodes["ServiceUnavailable"] = 503] = "ServiceUnavailable";
    HttpCodes[HttpCodes["GatewayTimeout"] = 504] = "GatewayTimeout";
})(HttpCodes = exports.HttpCodes || (exports.HttpCodes = {}));
var Headers;
(function (Headers) {
    Headers["Accept"] = "accept";
    Headers["ContentType"] = "content-type";
})(Headers = exports.Headers || (exports.Headers = {}));
var MediaTypes;
(function (MediaTypes) {
    MediaTypes["ApplicationJson"] = "application/json";
})(MediaTypes = exports.MediaTypes || (exports.MediaTypes = {}));
/**
 * Returns the proxy URL, depending upon the supplied url and proxy environment variables.
 * @param serverUrl  The server URL where the request will be sent. For example, https://api.github.com
 */
function getProxyUrl(serverUrl) {
    const proxyUrl = pm.getProxyUrl(new URL(serverUrl));
    return proxyUrl ? proxyUrl.href : '';
}
exports.getProxyUrl = getProxyUrl;
const HttpRedirectCodes = [
    HttpCodes.MovedPermanently,
    HttpCodes.ResourceMoved,
    HttpCodes.SeeOther,
    HttpCodes.TemporaryRedirect,
    HttpCodes.PermanentRedirect
];
const HttpResponseRetryCodes = [
    HttpCodes.BadGateway,
    HttpCodes.ServiceUnavailable,
    HttpCodes.GatewayTimeout
];
const RetryableHttpVerbs = ['OPTIONS', 'GET', 'DELETE', 'HEAD'];
const ExponentialBackoffCeiling = 10;
const ExponentialBackoffTimeSlice = 5;
class HttpClientError extends Error {
    constructor(message, statusCode) {
        super(message);
        this.name = 'HttpClientError';
        this.statusCode = statusCode;
        Object.setPrototypeOf(this, HttpClientError.prototype);
    }
}
exports.HttpClientError = HttpClientError;
class HttpClientResponse {
    constructor(message) {
        this.message = message;
    }
    readBody() {
        return __awaiter(this, void 0, void 0, function* () {
            return new Promise((resolve) => __awaiter(this, void 0, void 0, function* () {
                let output = Buffer.alloc(0);
                this.message.on('data', (chunk) => {
                    output = Buffer.concat([output, chunk]);
                });
                this.message.on('end', () => {
                    resolve(output.toString());
                });
            }));
        });
    }
}
exports.HttpClientResponse = HttpClientResponse;
function isHttps(requestUrl) {
    const parsedUrl = new URL(requestUrl);
    return parsedUrl.protocol === 'https:';
}
exports.isHttps = isHttps;
class HttpClient {
    constructor(userAgent, handlers, requestOptions) {
        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 = userAgent;
        this.handlers = handlers || [];
        this.requestOptions = requestOptions;
        if (requestOptions) {
            if (requestOptions.ignoreSslError != null) {
                this._ignoreSslError = requestOptions.ignoreSslError;
            }
            this._socketTimeout = requestOptions.socketTimeout;
            if (requestOptions.allowRedirects != null) {
                this._allowRedirects = requestOptions.allowRedirects;
            }
            if (requestOptions.allowRedirectDowngrade != null) {
                this._allowRedirectDowngrade = requestOptions.allowRedirectDowngrade;
            }
            if (requestOptions.maxRedirects != null) {
                this._maxRedirects = Math.max(requestOptions.maxRedirects, 0);
            }
            if (requestOptions.keepAlive != null) {
                this._keepAlive = requestOptions.keepAlive;
            }
            if (requestOptions.allowRetries != null) {
                this._allowRetries = requestOptions.allowRetries;
            }
            if (requestOptions.maxRetries != null) {
                this._maxRetries = requestOptions.maxRetries;
            }
        }
    }
    options(requestUrl, additionalHeaders) {
        return __awaiter(this, void 0, void 0, function* () {
            return this.request('OPTIONS', requestUrl, null, additionalHeaders || {});
        });
    }
    get(requestUrl, additionalHeaders) {
        return __awaiter(this, void 0, void 0, function* () {
            return this.request('GET', requestUrl, null, additionalHeaders || {});
        });
    }
    del(requestUrl, additionalHeaders) {
        return __awaiter(this, void 0, void 0, function* () {
            return this.request('DELETE', requestUrl, null, additionalHeaders || {});
        });
    }
    post(requestUrl, data, additionalHeaders) {
        return __awaiter(this, void 0, void 0, function* () {
            return this.request('POST', requestUrl, data, additionalHeaders || {});
        });
    }
    patch(requestUrl, data, additionalHeaders) {
        return __awaiter(this, void 0, void 0, function* () {
            return this.request('PATCH', requestUrl, data, additionalHeaders || {});
        });
    }
    put(requestUrl, data, additionalHeaders) {
        return __awaiter(this, void 0, void 0, function* () {
            return this.request('PUT', requestUrl, data, additionalHeaders || {});
        });
    }
    head(requestUrl, additionalHeaders) {
        return __awaiter(this, void 0, void 0, function* () {
            return this.request('HEAD', requestUrl, null, additionalHeaders || {});
        });
    }
    sendStream(verb, requestUrl, stream, additionalHeaders) {
        return __awaiter(this, void 0, void 0, function* () {
            return this.request(verb, requestUrl, stream, additionalHeaders);
        });
    }
    /**
     * Gets a typed object from an endpoint
     * Be aware that not found returns a null.  Other errors (4xx, 5xx) reject the promise
     */
    getJson(requestUrl, additionalHeaders = {}) {
        return __awaiter(this, void 0, void 0, function* () {
            additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson);
            const res = yield this.get(requestUrl, additionalHeaders);
            return this._processResponse(res, this.requestOptions);
        });
    }
    postJson(requestUrl, obj, additionalHeaders = {}) {
        return __awaiter(this, void 0, void 0, function* () {
            const data = JSON.stringify(obj, null, 2);
            additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson);
            additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson);
            const res = yield this.post(requestUrl, data, additionalHeaders);
            return this._processResponse(res, this.requestOptions);
        });
    }
    putJson(requestUrl, obj, additionalHeaders = {}) {
        return __awaiter(this, void 0, void 0, function* () {
            const data = JSON.stringify(obj, null, 2);
            additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson);
            additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson);
            const res = yield this.put(requestUrl, data, additionalHeaders);
            return this._processResponse(res, this.requestOptions);
        });
    }
    patchJson(requestUrl, obj, additionalHeaders = {}) {
        return __awaiter(this, void 0, void 0, function* () {
            const data = JSON.stringify(obj, null, 2);
            additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson);
            additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson);
            const res = yield this.patch(requestUrl, data, additionalHeaders);
            return this._processResponse(res, this.requestOptions);
        });
    }
    /**
     * Makes a raw http request.
     * All other methods such as get, post, patch, and request ultimately call this.
     * Prefer get, del, post and patch
     */
    request(verb, requestUrl, data, headers) {
        return __awaiter(this, void 0, void 0, function* () {
            if (this._disposed) {
                throw new Error('Client has already been disposed.');
            }
            const parsedUrl = new URL(requestUrl);
            let info = this._prepareRequest(verb, parsedUrl, headers);
            // Only perform retries on reads since writes may not be idempotent.
            const maxTries = this._allowRetries && RetryableHttpVerbs.includes(verb)
                ? this._maxRetries + 1
                : 1;
            let numTries = 0;
            let response;
            do {
                response = yield this.requestRaw(info, data);
                // Check if it's an authentication challenge
                if (response &&
                    response.message &&
                    response.message.statusCode === HttpCodes.Unauthorized) {
                    let authenticationHandler;
                    for (const handler of this.handlers) {
                        if (handler.canHandleAuthentication(response)) {
                            authenticationHandler = handler;
                            break;
                        }
                    }
                    if (authenticationHandler) {
                        return authenticationHandler.handleAuthentication(this, info, data);
                    }
                    else {
                        // We have received an unauthorized response but have no handlers to handle it.
                        // Let the response return to the caller.
                        return response;
                    }
                }
                let redirectsRemaining = this._maxRedirects;
                while (response.message.statusCode &&
                    HttpRedirectCodes.includes(response.message.statusCode) &&
                    this._allowRedirects &&
                    redirectsRemaining > 0) {
                    const redirectUrl = response.message.headers['location'];
                    if (!redirectUrl) {
                        // if there's no location to redirect to, we won't
                        break;
                    }
                    const parsedRedirectUrl = new URL(redirectUrl);
                    if (parsedUrl.protocol === 'https:' &&
                        parsedUrl.protocol !== parsedRedirectUrl.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.');
                    }
                    // we need to finish reading the response before reassigning response
                    // which will leak the open socket.
                    yield response.readBody();
                    // strip authorization header if redirected to a different hostname
                    if (parsedRedirectUrl.hostname !== parsedUrl.hostname) {
                        for (const header in headers) {
                            // header names are case insensitive
                            if (header.toLowerCase() === 'authorization') {
                                delete headers[header];
                            }
                        }
                    }
                    // let's make the request with the new redirectUrl
                    info = this._prepareRequest(verb, parsedRedirectUrl, headers);
                    response = yield this.requestRaw(info, data);
                    redirectsRemaining--;
                }
                if (!response.message.statusCode ||
                    !HttpResponseRetryCodes.includes(response.message.statusCode)) {
                    // If not a retry code, return immediately instead of retrying
                    return response;
                }
                numTries += 1;
                if (numTries < maxTries) {
                    yield response.readBody();
                    yield this._performExponentialBackoff(numTries);
                }
            } while (numTries < maxTries);
            return response;
        });
    }
    /**
     * Needs to be called if keepAlive is set to true in request options.
     */
    dispose() {
        if (this._agent) {
            this._agent.destroy();
        }
        this._disposed = true;
    }
    /**
     * Raw request.
     * @param info
     * @param data
     */
    requestRaw(info, data) {
        return __awaiter(this, void 0, void 0, function* () {
            return new Promise((resolve, reject) => {
                function callbackForResult(err, res) {
                    if (err) {
                        reject(err);
                    }
                    else if (!res) {
                        // If `err` is not passed, then `res` must be passed.
                        reject(new Error('Unknown error'));
                    }
                    else {
                        resolve(res);
                    }
                }
                this.requestRawWithCallback(info, data, callbackForResult);
            });
        });
    }
    /**
     * Raw request with callback.
     * @param info
     * @param data
     * @param onResult
     */
    requestRawWithCallback(info, data, onResult) {
        if (typeof data === 'string') {
            if (!info.options.headers) {
                info.options.headers = {};
            }
            info.options.headers['Content-Length'] = Buffer.byteLength(data, 'utf8');
        }
        let callbackCalled = false;
        function handleResult(err, res) {
            if (!callbackCalled) {
                callbackCalled = true;
                onResult(err, res);
            }
        }
        const req = info.httpModule.request(info.options, (msg) => {
            const res = new HttpClientResponse(msg);
            handleResult(undefined, res);
        });
        let socket;
        req.on('socket', sock => {
            socket = sock;
        });
        // If we ever get disconnected, we want the socket to timeout eventually
        req.setTimeout(this._socketTimeout || 3 * 60000, () => {
            if (socket) {
                socket.end();
            }
            handleResult(new Error(`Request timeout: ${info.options.path}`));
        });
        req.on('error', function (err) {
            // err has statusCode property
            // res should have headers
            handleResult(err);
        });
        if (data && typeof data === 'string') {
            req.write(data, 'utf8');
        }
        if (data && typeof data !== 'string') {
            data.on('close', function () {
                req.end();
            });
            data.pipe(req);
        }
        else {
            req.end();
        }
    }
    /**
     * Gets an http agent. This function is useful when you need an http agent that handles
     * routing through a proxy server - depending upon the url and proxy environment variables.
     * @param serverUrl  The server URL where the request will be sent. For example, https://api.github.com
     */
    getAgent(serverUrl) {
        const parsedUrl = new URL(serverUrl);
        return this._getAgent(parsedUrl);
    }
    _prepareRequest(method, requestUrl, headers) {
        const info = {};
        info.parsedUrl = requestUrl;
        const usingSsl = info.parsedUrl.protocol === 'https:';
        info.httpModule = usingSsl ? https : http;
        const defaultPort = usingSsl ? 443 : 80;
        info.options = {};
        info.options.host = info.parsedUrl.hostname;
        info.options.port = info.parsedUrl.port
            ? parseInt(info.parsedUrl.port)
            : defaultPort;
        info.options.path =
            (info.parsedUrl.pathname || '') + (info.parsedUrl.search || '');
        info.options.method = method;
        info.options.headers = this._mergeHeaders(headers);
        if (this.userAgent != null) {
            info.options.headers['user-agent'] = this.userAgent;
        }
        info.options.agent = this._getAgent(info.parsedUrl);
        // gives handlers an opportunity to participate
        if (this.handlers) {
            for (const handler of this.handlers) {
                handler.prepareRequest(info.options);
            }
        }
        return info;
    }
    _mergeHeaders(headers) {
        if (this.requestOptions && this.requestOptions.headers) {
            return Object.assign({}, lowercaseKeys(this.requestOptions.headers), lowercaseKeys(headers || {}));
        }
        return lowercaseKeys(headers || {});
    }
    _getExistingOrDefaultHeader(additionalHeaders, header, _default) {
        let clientHeader;
        if (this.requestOptions && this.requestOptions.headers) {
            clientHeader = lowercaseKeys(this.requestOptions.headers)[header];
        }
        return additionalHeaders[header] || clientHeader || _default;
    }
    _getAgent(parsedUrl) {
        let agent;
        const proxyUrl = pm.getProxyUrl(parsedUrl);
        const useProxy = proxyUrl && proxyUrl.hostname;
        if (this._keepAlive && useProxy) {
            agent = this._proxyAgent;
        }
        if (this._keepAlive && !useProxy) {
            agent = this._agent;
        }
        // if agent is already assigned use that agent.
        if (agent) {
            return agent;
        }
        const usingSsl = parsedUrl.protocol === 'https:';
        let maxSockets = 100;
        if (this.requestOptions) {
            maxSockets = this.requestOptions.maxSockets || http.globalAgent.maxSockets;
        }
        // This is `useProxy` again, but we need to check `proxyURl` directly for TypeScripts's flow analysis.
        if (proxyUrl && proxyUrl.hostname) {
            const agentOptions = {
                maxSockets,
                keepAlive: this._keepAlive,
                proxy: Object.assign(Object.assign({}, ((proxyUrl.username || proxyUrl.password) && {
                    proxyAuth: `${proxyUrl.username}:${proxyUrl.password}`
                })), { host: proxyUrl.hostname, port: proxyUrl.port })
            };
            let tunnelAgent;
            const overHttps = proxyUrl.protocol === 'https:';
            if (usingSsl) {
                tunnelAgent = overHttps ? tunnel.httpsOverHttps : tunnel.httpsOverHttp;
            }
            else {
                tunnelAgent = overHttps ? tunnel.httpOverHttps : tunnel.httpOverHttp;
            }
            agent = tunnelAgent(agentOptions);
            this._proxyAgent = agent;
        }
        // if reusing agent across request and tunneling agent isn't assigned create a new agent
        if (this._keepAlive && !agent) {
            const options = { keepAlive: this._keepAlive, maxSockets };
            agent = usingSsl ? new https.Agent(options) : new http.Agent(options);
            this._agent = agent;
        }
        // if not using private agent and tunnel agent isn't setup then use global agent
        if (!agent) {
            agent = usingSsl ? https.globalAgent : http.globalAgent;
        }
        if (usingSsl && this._ignoreSslError) {
            // we don't want to set NODE_TLS_REJECT_UNAUTHORIZED=0 since that will affect request for entire process
            // http.RequestOptions doesn't expose a way to modify RequestOptions.agent.options
            // we have to cast it to any and change it directly
            agent.options = Object.assign(agent.options || {}, {
                rejectUnauthorized: false
            });
        }
        return agent;
    }
    _performExponentialBackoff(retryNumber) {
        return __awaiter(this, void 0, void 0, function* () {
            retryNumber = Math.min(ExponentialBackoffCeiling, retryNumber);
            const ms = ExponentialBackoffTimeSlice * Math.pow(2, retryNumber);
            return new Promise(resolve => setTimeout(() => resolve(), ms));
        });
    }
    _processResponse(res, options) {
        return __awaiter(this, void 0, void 0, function* () {
            return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
                const statusCode = res.message.statusCode || 0;
                const response = {
                    statusCode,
                    result: null,
                    headers: {}
                };
                // not found leads to null obj returned
                if (statusCode === HttpCodes.NotFound) {
                    resolve(response);
                }
                // get the result from the body
                function dateTimeDeserializer(key, value) {
                    if (typeof value === 'string') {
                        const a = new Date(value);
                        if (!isNaN(a.valueOf())) {
                            return a;
                        }
                    }
                    return value;
                }
                let obj;
                let contents;
                try {
                    contents = yield res.readBody();
                    if (contents && contents.length > 0) {
                        if (options && options.deserializeDates) {
                            obj = JSON.parse(contents, dateTimeDeserializer);
                        }
                        else {
                            obj = JSON.parse(contents);
                        }
                        response.result = obj;
                    }
                    response.headers = res.message.headers;
                }
                catch (err) {
                    // Invalid resource (contents not json);  leaving result obj null
                }
                // note that 3xx redirects are handled by the http layer.
                if (statusCode > 299) {
                    let msg;
                    // if exception/error in body, attempt to get better error
                    if (obj && obj.message) {
                        msg = obj.message;
                    }
                    else if (contents && contents.length > 0) {
                        // it may be the case that the exception is in the body message as string
                        msg = contents;
                    }
                    else {
                        msg = `Failed request: (${statusCode})`;
                    }
                    const err = new HttpClientError(msg, statusCode);
                    err.result = response.result;
                    reject(err);
                }
                else {
                    resolve(response);
                }
            }));
        });
    }
}
exports.HttpClient = HttpClient;
const lowercaseKeys = (obj) => Object.keys(obj).reduce((c, k) => ((c[k.toLowerCase()] = obj[k]), c), {});
//# sourceMappingURL=index.js.map

/***/ }),

/***/ 4988:
/***/ ((__unused_webpack_module, exports) => {

"use strict";

Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.checkBypass = exports.getProxyUrl = void 0;
function getProxyUrl(reqUrl) {
    const usingSsl = reqUrl.protocol === 'https:';
    if (checkBypass(reqUrl)) {
        return undefined;
    }
    const proxyVar = (() => {
        if (usingSsl) {
            return process.env['https_proxy'] || process.env['HTTPS_PROXY'];
        }
        else {
            return process.env['http_proxy'] || process.env['HTTP_PROXY'];
        }
    })();
    if (proxyVar) {
        return new URL(proxyVar);
    }
    else {
        return undefined;
    }
}
exports.getProxyUrl = getProxyUrl;
function checkBypass(reqUrl) {
    if (!reqUrl.hostname) {
        return false;
    }
    const noProxy = process.env['no_proxy'] || process.env['NO_PROXY'] || '';
    if (!noProxy) {
        return false;
    }
    // Determine the request port
    let reqPort;
    if (reqUrl.port) {
        reqPort = Number(reqUrl.port);
    }
    else if (reqUrl.protocol === 'http:') {
        reqPort = 80;
    }
    else if (reqUrl.protocol === 'https:') {
        reqPort = 443;
    }
    // Format the request hostname and hostname with port
    const upperReqHosts = [reqUrl.hostname.toUpperCase()];
    if (typeof reqPort === 'number') {
        upperReqHosts.push(`${upperReqHosts[0]}:${reqPort}`);
    }
    // Compare request host against noproxy
    for (const upperNoProxyItem of noProxy
        .split(',')
        .map(x => x.trim().toUpperCase())
        .filter(x => x)) {
        if (upperReqHosts.some(x => x === upperNoProxyItem)) {
            return true;
        }
    }
    return false;
}
exports.checkBypass = checkBypass;
//# sourceMappingURL=proxy.js.map

/***/ }),

/***/ 5207:
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {

"use strict";

var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
    Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
    o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
    if (mod && mod.__esModule) return mod;
    var result = {};
    if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
    __setModuleDefault(result, mod);
    return result;
};
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
    return new (P || (P = Promise))(function (resolve, reject) {
        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
    });
};
var _a;
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.getCmdPath = exports.tryGetExecutablePath = exports.isRooted = exports.isDirectory = exports.exists = exports.READONLY = exports.UV_FS_O_EXLOCK = exports.IS_WINDOWS = exports.unlink = exports.symlink = exports.stat = exports.rmdir = exports.rm = exports.rename = exports.readlink = exports.readdir = exports.open = exports.mkdir = exports.lstat = exports.copyFile = exports.chmod = void 0;
const fs = __importStar(__nccwpck_require__(9896));
const path = __importStar(__nccwpck_require__(6928));
_a = fs.promises
// export const {open} = 'fs'
, exports.chmod = _a.chmod, exports.copyFile = _a.copyFile, exports.lstat = _a.lstat, exports.mkdir = _a.mkdir, exports.open = _a.open, exports.readdir = _a.readdir, exports.readlink = _a.readlink, exports.rename = _a.rename, exports.rm = _a.rm, exports.rmdir = _a.rmdir, exports.stat = _a.stat, exports.symlink = _a.symlink, exports.unlink = _a.unlink;
// export const {open} = 'fs'
exports.IS_WINDOWS = process.platform === 'win32';
// See https://github.com/nodejs/node/blob/d0153aee367422d0858105abec186da4dff0a0c5/deps/uv/include/uv/win.h#L691
exports.UV_FS_O_EXLOCK = 0x10000000;
exports.READONLY = fs.constants.O_RDONLY;
function exists(fsPath) {
    return __awaiter(this, void 0, void 0, function* () {
        try {
            yield exports.stat(fsPath);
        }
        catch (err) {
            if (err.code === 'ENOENT') {
                return false;
            }
            throw err;
        }
        return true;
    });
}
exports.exists = exists;
function isDirectory(fsPath, useStat = false) {
    return __awaiter(this, void 0, void 0, function* () {
        const stats = useStat ? yield exports.stat(fsPath) : yield exports.lstat(fsPath);
        return stats.isDirectory();
    });
}
exports.isDirectory = isDirectory;
/**
 * On OSX/Linux, true if path starts with '/'. On Windows, true for paths like:
 * \, \hello, \\hello\share, C:, and C:\hello (and corresponding alternate separator cases).
 */
function isRooted(p) {
    p = normalizeSeparators(p);
    if (!p) {
        throw new Error('isRooted() parameter "p" cannot be empty');
    }
    if (exports.IS_WINDOWS) {
        return (p.startsWith('\\') || /^[A-Z]:/i.test(p) // e.g. \ or \hello or \\hello
        ); // e.g. C: or C:\hello
    }
    return p.startsWith('/');
}
exports.isRooted = isRooted;
/**
 * Best effort attempt to determine whether a file exists and is executable.
 * @param filePath    file path to check
 * @param extensions  additional file extensions to try
 * @return if file exists and is executable, returns the file path. otherwise empty string.
 */
function tryGetExecutablePath(filePath, extensions) {
    return __awaiter(this, void 0, void 0, function* () {
        let stats = undefined;
        try {
            // test file exists
            stats = yield exports.stat(filePath);
        }
        catch (err) {
            if (err.code !== 'ENOENT') {
                // eslint-disable-next-line no-console
                console.log(`Unexpected error attempting to determine if executable file exists '${filePath}': ${err}`);
            }
        }
        if (stats && stats.isFile()) {
            if (exports.IS_WINDOWS) {
                // on Windows, test for valid extension
                const upperExt = path.extname(filePath).toUpperCase();
                if (extensions.some(validExt => validExt.toUpperCase() === upperExt)) {
                    return filePath;
                }
            }
            else {
                if (isUnixExecutable(stats)) {
                    return filePath;
                }
            }
        }
        // try each extension
        const originalFilePath = filePath;
        for (const extension of extensions) {
            filePath = originalFilePath + extension;
            stats = undefined;
            try {
                stats = yield exports.stat(filePath);
            }
            catch (err) {
                if (err.code !== 'ENOENT') {
                    // eslint-disable-next-line no-console
                    console.log(`Unexpected error attempting to determine if executable file exists '${filePath}': ${err}`);
                }
            }
            if (stats && stats.isFile()) {
                if (exports.IS_WINDOWS) {
                    // preserve the case of the actual file (since an extension was appended)
                    try {
                        const directory = path.dirname(filePath);
                        const upperName = path.basename(filePath).toUpperCase();
                        for (const actualName of yield exports.readdir(directory)) {
                            if (upperName === actualName.toUpperCase()) {
                                filePath = path.join(directory, actualName);
                                break;
                            }
                        }
                    }
                    catch (err) {
                        // eslint-disable-next-line no-console
                        console.log(`Unexpected error attempting to determine the actual case of the file '${filePath}': ${err}`);
                    }
                    return filePath;
                }
                else {
                    if (isUnixExecutable(stats)) {
                        return filePath;
                    }
                }
            }
        }
        return '';
    });
}
exports.tryGetExecutablePath = tryGetExecutablePath;
function normalizeSeparators(p) {
    p = p || '';
    if (exports.IS_WINDOWS) {
        // convert slashes on Windows
        p = p.replace(/\//g, '\\');
        // remove redundant slashes
        return p.replace(/\\\\+/g, '\\');
    }
    // remove redundant slashes
    return p.replace(/\/\/+/g, '/');
}
// on Mac/Linux, test the execute bit
//     R   W  X  R  W X R W X
//   256 128 64 32 16 8 4 2 1
function isUnixExecutable(stats) {
    return ((stats.mode & 1) > 0 ||
        ((stats.mode & 8) > 0 && stats.gid === process.getgid()) ||
        ((stats.mode & 64) > 0 && stats.uid === process.getuid()));
}
// Get the path of cmd.exe in windows
function getCmdPath() {
    var _a;
    return (_a = process.env['COMSPEC']) !== null && _a !== void 0 ? _a : `cmd.exe`;
}
exports.getCmdPath = getCmdPath;
//# sourceMappingURL=io-util.js.map

/***/ }),

/***/ 4994:
/***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {

"use strict";

var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
    Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
    o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
    if (mod && mod.__esModule) return mod;
    var result = {};
    if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
    __setModuleDefault(result, mod);
    return result;
};
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
    return new (P || (P = Promise))(function (resolve, reject) {
        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
    });
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.findInPath = exports.which = exports.mkdirP = exports.rmRF = exports.mv = exports.cp = void 0;
const assert_1 = __nccwpck_require__(2613);
const path = __importStar(__nccwpck_require__(6928));
const ioUtil = __importStar(__nccwpck_require__(5207));
/**
 * Copies a file or folder.
 * Based off of shelljs - https://github.com/shelljs/shelljs/blob/9237f66c52e5daa40458f94f9565e18e8132f5a6/src/cp.js
 *
 * @param     source    source path
 * @param     dest      destination path
 * @param     options   optional. See CopyOptions.
 */
function cp(source, dest, options = {}) {
    return __awaiter(this, void 0, void 0, function* () {
        const { force, recursive, copySourceDirectory } = readCopyOptions(options);
        const destStat = (yield ioUtil.exists(dest)) ? yield ioUtil.stat(dest) : null;
        // Dest is an existing file, but not forcing
        if (destStat && destStat.isFile() && !force) {
            return;
        }
        // If dest is an existing directory, should copy inside.
        const newDest = destStat && destStat.isDirectory() && copySourceDirectory
            ? path.join(dest, path.basename(source))
            : dest;
        if (!(yield ioUtil.exists(source))) {
            throw new Error(`no such file or directory: ${source}`);
        }
        const sourceStat = yield ioUtil.stat(source);
        if (sourceStat.isDirectory()) {
            if (!recursive) {
                throw new Error(`Failed to copy. ${source} is a directory, but tried to copy without recursive flag.`);
            }
            else {
                yield cpDirRecursive(source, newDest, 0, force);
            }
        }
        else {
            if (path.relative(source, newDest) === '') {
                // a file cannot be copied to itself
                throw new Error(`'${newDest}' and '${source}' are the same file`);
            }
            yield copyFile(source, newDest, force);
        }
    });
}
exports.cp = cp;
/**
 * Moves a path.
 *
 * @param     source    source path
 * @param     dest      destination path
 * @param     options   optional. See MoveOptions.
 */
function mv(source, dest, options = {}) {
    return __awaiter(this, void 0, void 0, function* () {
        if (yield ioUtil.exists(dest)) {
            let destExists = true;
            if (yield ioUtil.isDirectory(dest)) {
                // If dest is directory copy src into dest
                dest = path.join(dest, path.basename(source));
                destExists = yield ioUtil.exists(dest);
            }
            if (destExists) {
                if (options.force == null || options.force) {
                    yield rmRF(dest);
                }
                else {
                    throw new Error('Destination already exists');
                }
            }
        }
        yield mkdirP(path.dirname(dest));
        yield ioUtil.rename(source, dest);
    });
}
exports.mv = mv;
/**
 * Remove a path recursively with force
 *
 * @param inputPath path to remove
 */
function rmRF(inputPath) {
    return __awaiter(this, void 0, void 0, function* () {
        if (ioUtil.IS_WINDOWS) {
            // Check for invalid characters
            // https://docs.microsoft.com/en-us/windows/win32/fileio/naming-a-file
            if (/[*"<>|]/.test(inputPath)) {
                throw new Error('File path must not contain `*`, `"`, `<`, `>` or `|` on Windows');
            }
        }
        try {
            // note if path does not exist, error is silent
            yield ioUtil.rm(inputPath, {
                force: true,
                maxRetries: 3,
                recursive: true,
                retryDelay: 300
            });
        }
        catch (err) {
            throw new Error(`File was unable to be removed ${err}`);
        }
    });
}
exports.rmRF = rmRF;
/**
 * Make a directory.  Creates the full path with folders in between
 * Will throw if it fails
 *
 * @param   fsPath        path to create
 * @returns Promise<void>
 */
function mkdirP(fsPath) {
    return __awaiter(this, void 0, void 0, function* () {
        assert_1.ok(fsPath, 'a path argument must be provided');
        yield ioUtil.mkdir(fsPath, { recursive: true });
    });
}
exports.mkdirP = mkdirP;
/**
 * Returns path of a tool had the tool actually been invoked.  Resolves via paths.
 * If you check and the tool does not exist, it will throw.
 *
 * @param     tool              name of the tool
 * @param     check             whether to check if tool exists
 * @returns   Promise<string>   path to tool
 */
function which(tool, check) {
    return __awaiter(this, void 0, void 0, function* () {
        if (!tool) {
            throw new Error("parameter 'tool' is required");
        }
        // recursive when check=true
        if (check) {
            const result = yield which(tool, false);
            if (!result) {
                if (ioUtil.IS_WINDOWS) {
                    throw new Error(`Unable to locate executable file: ${tool}. 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: ${tool}. 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 result;
        }
        const matches = yield findInPath(tool);
        if (matches && matches.length > 0) {
            return matches[0];
        }
        return '';
    });
}
exports.which = which;
/**
 * Returns a list of all occurrences of the given tool on the system path.
 *
 * @returns   Promise<string[]>  the paths of the tool
 */
function findInPath(tool) {
    return __awaiter(this, void 0, void 0, function* () {
        if (!tool) {
            throw new Error("parameter 'tool' is required");
        }
        // build the list of extensions to try
        const extensions = [];
        if (ioUtil.IS_WINDOWS && process.env['PATHEXT']) {
            for (const extension of process.env['PATHEXT'].split(path.delimiter)) {
                if (extension) {
                    extensions.push(extension);
                }
            }
        }
        // if it's rooted, return it if exists. otherwise return empty.
        if (ioUtil.isRooted(tool)) {
            const filePath = yield ioUtil.tryGetExecutablePath(tool, extensions);
            if (filePath) {
                return [filePath];
            }
            return [];
        }
        // if any path separators, return empty
        if (tool.includes(path.sep)) {
            return [];
        }
        // build the list of directories
        //
        // Note, technically "where" checks the current directory on Windows. From a toolkit perspective,
        // it feels like we should not do this. Checking the current directory seems like more of a use
        // case of a shell, and the which() function exposed by the toolkit should strive for consistency
        // across platforms.
        const directories = [];
        if (process.env.PATH) {
            for (const p of process.env.PATH.split(path.delimiter)) {
                if (p) {
                    directories.push(p);
                }
            }
        }
        // find all matches
        const matches = [];
        for (const directory of directories) {
            const filePath = yield ioUtil.tryGetExecutablePath(path.join(directory, tool), extensions);
            if (filePath) {
                matches.push(filePath);
            }
        }
        return matches;
    });
}
exports.findInPath = findInPath;
function readCopyOptions(options) {
    const force = options.force == null ? true : options.force;
    const recursive = Boolean(options.recursive);
    const copySourceDirectory = options.copySourceDirectory == null
        ? true
        : Boolean(options.copySourceDirectory);
    return { force, recursive, copySourceDirectory };
}
function cpDirRecursive(sourceDir, destDir, currentDepth, force) {
    return __awaiter(this, void 0, void 0, function* () {
        // Ensure there is not a run away recursive copy
        if (currentDepth >= 255)
            return;
        currentDepth++;
        yield mkdirP(destDir);
        const files = yield ioUtil.readdir(sourceDir);
        for (const fileName of files) {
            const srcFile = `${sourceDir}/${fileName}`;
            const destFile = `${destDir}/${fileName}`;
            const srcFileStat = yield ioUtil.lstat(srcFile);
            if (srcFileStat.isDirectory()) {
                // Recurse
                yield cpDirRecursive(srcFile, destFile, currentDepth, force);
            }
            else {
                yield copyFile(srcFile, destFile, force);
            }
        }
        // Change the mode for the newly created directory
        yield ioUtil.chmod(destDir, (yield ioUtil.stat(sourceDir)).mode);
    });
}
// Buffered file copy
function copyFile(srcFile, destFile, force) {
    return __awaiter(this, void 0, void 0, function* () {
        if ((yield ioUtil.lstat(srcFile)).isSymbolicLink()) {
            // unlink/re-link it
            try {
                yield ioUtil.lstat(destFile);
                yield ioUtil.unlink(destFile);
            }
            catch (e) {
                // Try to override file permission
                if (e.code === 'EPERM') {
                    yield ioUtil.chmod(destFile, '0666');
                    yield ioUtil.unlink(destFile);
                }
                // other errors = it doesn't exist, no work to do
            }
            // Copy over symlink
            const symlinkFull = yield ioUtil.readlink(srcFile);
            yield ioUtil.symlink(symlinkFull, destFile, ioUtil.IS_WINDOWS ? 'junction' : null);
        }
        else if (!(yield ioUtil.exists(destFile)) || force) {
            yield ioUtil.copyFile(srcFile, destFile);
        }
    });
}
//# sourceMappingURL=io.js.map

/***/ }),

/***/ 7397:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

const parser = __nccwpck_require__(354)
const { toConventionalChangelogFormat } = __nccwpck_require__(4632)

module.exports = {
  parser,
  toConventionalChangelogFormat
}


/***/ }),

/***/ 823:
/***/ ((module) => {

module.exports = {
  CR: '\u000d',
  LF: '\u000a',
  ZWNBSP: '\ufeff',
  TAB: '\u0009',
  VT: '\u000b',
  FF: '\u000c',
  SP: '\u0020',
  NBSP: '\u00a0'
}


/***/ }),

/***/ 354:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

const Scanner = __nccwpck_require__(3619)
const { isWhitespace, isNewline, isParens } = __nccwpck_require__(2439)

/*
 * <message>       ::= <summary>, <newline>+, <body>, (<newline>+, <footer>)*
 *                  |  <summary>, (<newline>+, <footer>)*
 *                  |  <summary>, <newline>*
 *
 */
function message (commitText) {
  const scanner = new Scanner(commitText.trim())
  const node = scanner.enter('message', [])

  // <summary> ...
  const s = summary(scanner)
  if (s instanceof Error) {
    throw s
  } else {
    node.children.push(s)
  }
  if (scanner.eof()) {
    return scanner.exit(node)
  }

  let nl
  let b
  // ... <newline>* <body> ...
  nl = newline(scanner)
  if (nl instanceof Error) {
    throw nl
  } else {
    node.children.push(nl)
    b = body(scanner)
    if (b instanceof Error) {
      b = null
    } else {
      node.children.push(b)
    }
  }
  if (scanner.eof()) {
    return scanner.exit(node)
  }

  //  ... <newline>* <footer>+
  if (b) {
    nl = newline(scanner)
    if (nl instanceof Error) {
      throw nl
    } else {
      node.children.push(nl)
    }
  }
  while (!scanner.eof()) {
    const f = footer(scanner)
    if (f instanceof Error) {
      break
    } else {
      node.children.push(f)
    }
    nl = newline(scanner)
    if (nl instanceof Error) {
      break
    } else {
      node.children.push(nl)
    }
  }

  return scanner.exit(node)
}

/*
 * <summary>      ::= <type> "(" <scope> ")" ["!"] ":" <whitespace>* <text>
 *                 |  <type> ["!"] ":" <whitespace>* <text>
 *
 */
function summary (scanner) {
  const node = scanner.enter('summary', [])

  // <type> ...
  const t = type(scanner)
  if (t instanceof Error) {
    return t
  } else {
    node.children.push(t)
  }

  // ... "(" <scope> ")" ...
  let s = scope(scanner)
  if (s instanceof Error) {
    s = null
  } else {
    node.children.push(s)
  }

  // ... ["!"] ...
  let b = breakingChange(scanner)
  if (b instanceof Error) {
    b = null
  } else {
    node.children.push(b)
  }

  // ... ":" ...
  const sep = separator(scanner)
  if (sep instanceof Error) {
    return scanner.abort(node, [!s && '(', !b && '!', ':'])
  } else {
    node.children.push(sep)
  }

  // ... <whitespace>* ...
  const ws = whitespace(scanner)
  if (!(ws instanceof Error)) {
    node.children.push(ws)
  }

  // ... <text>
  node.children.push(text(scanner))
  return scanner.exit(node)
}

/*
 * <type>         ::= 1*<any UTF8-octets except newline or parens or ["!"] ":" or whitespace>
 */
function type (scanner) {
  const node = scanner.enter('type', '')
  while (!scanner.eof()) {
    const token = scanner.peek()
    if (isParens(token) || isWhitespace(token) || isNewline(token) || token === '!' || token === ':') {
      break
    }
    node.value += scanner.next()
  }
  if (node.value === '') {
    return scanner.abort(node)
  } else {
    return scanner.exit(node)
  }
}

/*
 * <text>         ::= 1*<any UTF8-octets except newline>
 */
function text (scanner) {
  const node = scanner.enter('text', '')
  while (!scanner.eof()) {
    const token = scanner.peek()
    if (isNewline(token)) {
      break
    }
    node.value += scanner.next()
  }
  return scanner.exit(node)
}

/*
 * "(" <scope> ")"        ::= 1*<any UTF8-octets except newline or parens>
 */
function scope (scanner) {
  if (scanner.peek() !== '(') {
    return scanner.abort(scanner.enter('scope', ''))
  } else {
    scanner.next()
  }

  const node = scanner.enter('scope', '')

  while (!scanner.eof()) {
    const token = scanner.peek()
    if (isParens(token) || isNewline(token)) {
      break
    }
    node.value += scanner.next()
  }

  if (scanner.peek() !== ')') {
    throw scanner.abort(node, [')'])
  } else {
    scanner.exit(node)
    scanner.next()
  }

  if (node.value === '') {
    return scanner.abort(node)
  } else {
    return node
  }
}

/*
 * <body>          ::= [<any body-text except pre-footer>], <newline>, <body>*
 *                  | [<any body-text except pre-footer>]
 */
function body (scanner) {
  const node = scanner.enter('body', [])

  // check except <pre-footer> condition:
  const pf = preFooter(scanner)
  if (!(pf instanceof Error)) return scanner.abort(node)

  // ["BREAKING CHANGE", ":", <whitespace>*]
  const b = breakingChange(scanner, false)
  if (!(b instanceof Error) && scanner.peek() === ':') {
    node.children.push(b)
    node.children.push(separator(scanner))
    const w = whitespace(scanner)
    if (!(w instanceof Error)) node.children.push(w)
  }

  // [<text>]
  const t = text(scanner)
  node.children.push(t)
  // <newline>, <body>*
  const nl = newline(scanner)
  if (!(nl instanceof Error)) {
    const b = body(scanner)
    if (b instanceof Error) {
      scanner.abort(nl)
    } else {
      node.children.push(nl)
      Array.prototype.push.apply(node.children, b.children)
    }
  }
  return scanner.exit(node)
}

/*
 * <newline>*, <footer>+
 */
function preFooter (scanner) {
  const node = scanner.enter('pre-footer', [])
  let f
  while (!scanner.eof()) {
    newline(scanner)
    f = footer(scanner)
    if (f instanceof Error) return scanner.abort(node)
  }
  return scanner.exit(node)
}

/*
 * <footer>       ::= <token> <separator> <whitespace>* <value>
 */
function footer (scanner) {
  const node = scanner.enter('footer', [])
  // <token>
  const t = token(scanner)
  if (t instanceof Error) {
    return t
  } else {
    node.children.push(t)
  }

  // <separator>
  const s = separator(scanner)
  if (s instanceof Error) {
    scanner.abort(node)
    return s
  } else {
    node.children.push(s)
  }

  // <whitespace>*
  const ws = whitespace(scanner)
  if (!(ws instanceof Error)) {
    node.children.push(ws)
  }

  // <value>
  const v = value(scanner)
  if (v instanceof Error) {
    scanner.abort(node)
    return v
  } else {
    node.children.push(v)
  }

  return scanner.exit(node)
}

/*
 * <token>        ::= <breaking-change>
 *                 |  <type>, "(" <scope> ")", ["!"]
 *                 |  <type>
 */
function token (scanner) {
  const node = scanner.enter('token', [])
  // "BREAKING CHANGE"
  const b = breakingChange(scanner)
  if (b instanceof Error) {
    scanner.abort(node)
  } else {
    node.children.push(b)
    return scanner.exit(node)
  }

  // <type>
  const t = type(scanner)
  if (t instanceof Error) {
    return t
  } else {
    node.children.push(t)
    // "(" <scope> ")"
    const s = scope(scanner)
    if (!(s instanceof Error)) {
      node.children.push(s)
    }
    // ["!"]
    const b = breakingChange(scanner)
    if (!(b instanceof Error)) {
      node.children.push(b)
    }
  }
  return scanner.exit(node)
}

/*
 * <breaking-change> ::= "!" | "BREAKING CHANGE" | "BREAKING-CHANGE"
 *
 * Note: "!" is only allowed in <footer> and <summary>, not <body>.
 */
function breakingChange (scanner, allowBang = true) {
  const node = scanner.enter('breaking-change', '')
  if (scanner.peek() === '!' && allowBang) {
    node.value = scanner.next()
  } else if (scanner.peekLiteral('BREAKING CHANGE') || scanner.peekLiteral('BREAKING-CHANGE')) {
    node.value = scanner.next('BREAKING CHANGE'.length)
  }
  if (node.value === '') {
    return scanner.abort(node, ['BREAKING CHANGE'])
  } else {
    return scanner.exit(node)
  }
}

/*
 * <value>        ::= <text> <continuation>*
 *                 |  <text>
 */
function value (scanner) {
  const node = scanner.enter('value', [])
  node.children.push(text(scanner))
  let c
  // <continuation>*
  while (!((c = continuation(scanner)) instanceof Error)) {
    node.children.push(c)
  }
  return scanner.exit(node)
}

/*
 * <newline> <whitespace> <text>
 */
function continuation (scanner) {
  const node = scanner.enter('continuation', [])
  // <newline>
  const nl = newline(scanner)
  if (nl instanceof Error) {
    return nl
  } else {
    node.children.push(nl)
  }

  // <whitespace> <text>
  const ws = whitespace(scanner)
  if (ws instanceof Error) {
    scanner.abort(node)
    return ws
  } else {
    node.children.push(ws)
    node.children.push(text(scanner))
  }

  return scanner.exit(node)
}

/*
 * <separator>    ::= ":" | " #"
 */
function separator (scanner) {
  const node = scanner.enter('separator', '')
  // ':'
  if (scanner.peek() === ':') {
    node.value = scanner.next()
    return scanner.exit(node)
  }

  // ' #'
  if (scanner.peek() === ' ') {
    scanner.next()
    if (scanner.peek() === '#') {
      scanner.next()
      node.value = ' #'
      return scanner.exit(node)
    } else {
      return scanner.abort(node)
    }
  }

  return scanner.abort(node)
}

/*
 * <whitespace>+   ::= <ZWNBSP> | <TAB> | <VT> | <FF> | <SP> | <NBSP> | <USP>
 */
function whitespace (scanner) {
  const node = scanner.enter('whitespace', '')
  while (isWhitespace(scanner.peek())) {
    node.value += scanner.next()
  }
  if (node.value === '') {
    return scanner.abort(node, [' '])
  }
  return scanner.exit(node)
}

/*
 * <newline>+       ::= [<CR>], <LF>
 */
function newline (scanner) {
  const node = scanner.enter('newline', '')
  while (isNewline(scanner.peek())) {
    node.value += scanner.next()
  }
  if (node.value === '') {
    return scanner.abort(node, ['<CR><LF>', '<LF>'])
  }
  return scanner.exit(node)
}

module.exports = message


/***/ }),

/***/ 3619:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {

const { isNewline } = __nccwpck_require__(2439)
const { CR, LF } = __nccwpck_require__(823)

class Scanner {
  constructor (text, pos) {
    this.text = text
    this.pos = pos ? { ...pos } : { line: 1, column: 1, offset: 0 }
  }

  eof () {
    return this.pos.offset >= this.text.length
  }

  next (n) {
    const token = n
      ? this.text.substring(this.pos.offset, this.pos.offset + n)
      : this.peek()

    this.pos.offset += token.length
    this.pos.column += token.length

    if (isNewline(token)) {
      this.pos.line++
      this.pos.column = 1
    }

    return
Download .txt
gitextract_iyraw_xv/

├── .editorconfig
├── .eslintrc
├── .github/
│   └── workflows/
│       └── deploy.yml
├── .gitignore
├── .npmrc
├── .vscode/
│   └── settings.json
├── CHANGELOG.md
├── LICENSE
├── README.md
├── action.yml
├── dist/
│   └── index.js
├── index.js
├── index.test.js
└── package.json
Download .txt
SYMBOL INDEX (1624 symbols across 2 files)

FILE: dist/index.js
  function issueCommand (line 46) | function issueCommand(command, properties, message) {
  function issue (line 51) | function issue(name, message = '') {
  class Command (line 56) | class Command {
    method constructor (line 57) | constructor(command, properties, message) {
    method toString (line 65) | toString() {
  function escapeData (line 89) | function escapeData(s) {
  function escapeProperty (line 95) | function escapeProperty(s) {
  function adopt (line 136) | function adopt(value) { return value instanceof P ? value : new P(functi...
  function fulfilled (line 138) | function fulfilled(value) { try { step(generator.next(value)); } catch (...
  function rejected (line 139) | function rejected(value) { try { step(generator["throw"](value)); } catc...
  function step (line 140) | function step(result) { result.done ? resolve(result.value) : adopt(resu...
  function exportVariable (line 175) | function exportVariable(name, val) {
  function setSecret (line 189) | function setSecret(secret) {
  function addPath (line 197) | function addPath(inputPath) {
  function getInput (line 217) | function getInput(name, options) {
  function getMultilineInput (line 236) | function getMultilineInput(name, options) {
  function getBooleanInput (line 256) | function getBooleanInput(name, options) {
  function setOutput (line 275) | function setOutput(name, value) {
  function setCommandEcho (line 289) | function setCommandEcho(enabled) {
  function setFailed (line 301) | function setFailed(message) {
  function isDebug (line 312) | function isDebug() {
  function debug (line 320) | function debug(message) {
  function error (line 329) | function error(message, properties = {}) {
  function warning (line 338) | function warning(message, properties = {}) {
  function notice (line 347) | function notice(message, properties = {}) {
  function info (line 355) | function info(message) {
  function startGroup (line 366) | function startGroup(name) {
  function endGroup (line 373) | function endGroup() {
  function group (line 385) | function group(name, fn) {
  function saveState (line 409) | function saveState(name, value) {
  function getState (line 423) | function getState(name) {
  function getIDToken (line 427) | function getIDToken(aud) {
  function issueFileCommand (line 495) | function issueFileCommand(command, message) {
  function prepareKeyValueMessage (line 508) | function prepareKeyValueMessage(key, value) {
  function adopt (line 533) | function adopt(value) { return value instanceof P ? value : new P(functi...
  function fulfilled (line 535) | function fulfilled(value) { try { step(generator.next(value)); } catch (...
  function rejected (line 536) | function rejected(value) { try { step(generator["throw"](value)); } catc...
  function step (line 537) | function step(result) { result.done ? resolve(result.value) : adopt(resu...
  class OidcClient (line 546) | class OidcClient {
    method createHttpClient (line 547) | static createHttpClient(allowRetry = true, maxRetry = 10) {
    method getRequestToken (line 554) | static getRequestToken() {
    method getIDTokenUrl (line 561) | static getIDTokenUrl() {
    method getCall (line 568) | static getCall(id_token_url) {
    method getIDToken (line 586) | static getIDToken(audience) {
  function toPosixPath (line 649) | function toPosixPath(pth) {
  function toWin32Path (line 660) | function toWin32Path(pth) {
  function toPlatformPath (line 672) | function toPlatformPath(pth) {
  function adopt (line 709) | function adopt(value) { return value instanceof P ? value : new P(functi...
  function fulfilled (line 711) | function fulfilled(value) { try { step(generator.next(value)); } catch (...
  function rejected (line 712) | function rejected(value) { try { step(generator["throw"](value)); } catc...
  function step (line 713) | function step(result) { result.done ? resolve(result.value) : adopt(resu...
  function getDetails (line 763) | function getDetails() {
  function adopt (line 787) | function adopt(value) { return value instanceof P ? value : new P(functi...
  function fulfilled (line 789) | function fulfilled(value) { try { step(generator.next(value)); } catch (...
  function rejected (line 790) | function rejected(value) { try { step(generator["throw"](value)); } catc...
  function step (line 791) | function step(result) { result.done ? resolve(result.value) : adopt(resu...
  class Summary (line 802) | class Summary {
    method constructor (line 803) | constructor() {
    method filePath (line 812) | filePath() {
    method wrap (line 840) | wrap(tag, content, attrs = {}) {
    method write (line 856) | write(options) {
    method clear (line 870) | clear() {
    method stringify (line 880) | stringify() {
    method isEmptyBuffer (line 888) | isEmptyBuffer() {
    method emptyBuffer (line 896) | emptyBuffer() {
    method addRaw (line 908) | addRaw(text, addEOL = false) {
    method addEOL (line 917) | addEOL() {
    method addCodeBlock (line 928) | addCodeBlock(code, lang) {
    method addList (line 941) | addList(items, ordered = false) {
    method addTable (line 954) | addTable(rows) {
    method addDetails (line 982) | addDetails(label, content) {
    method addImage (line 995) | addImage(src, alt, options) {
    method addHeading (line 1009) | addHeading(text, level) {
    method addSeparator (line 1022) | addSeparator() {
    method addBreak (line 1031) | addBreak() {
    method addQuote (line 1043) | addQuote(text, cite) {
    method addLink (line 1056) | addLink(text, href) {
  function toCommandValue (line 1084) | function toCommandValue(input) {
  function toCommandProperties (line 1100) | function toCommandProperties(annotationProperties) {
  function adopt (line 1143) | function adopt(value) { return value instanceof P ? value : new P(functi...
  function fulfilled (line 1145) | function fulfilled(value) { try { step(generator.next(value)); } catch (...
  function rejected (line 1146) | function rejected(value) { try { step(generator["throw"](value)); } catc...
  function step (line 1147) | function step(result) { result.done ? resolve(result.value) : adopt(resu...
  function exec (line 1165) | function exec(commandLine, args, options) {
  function getExecOutput (line 1189) | function getExecOutput(commandLine, args, options) {
  function adopt (line 1253) | function adopt(value) { return value instanceof P ? value : new P(functi...
  function fulfilled (line 1255) | function fulfilled(value) { try { step(generator.next(value)); } catch (...
  function rejected (line 1256) | function rejected(value) { try { step(generator["throw"](value)); } catc...
  function step (line 1257) | function step(result) { result.done ? resolve(result.value) : adopt(resu...
  class ToolRunner (line 1275) | class ToolRunner extends events.EventEmitter {
    method constructor (line 1276) | constructor(toolPath, args, options) {
    method _debug (line 1285) | _debug(message) {
    method _getCommandString (line 1290) | _getCommandString(options, noPrefix) {
    method _processLineBuffer (line 1328) | _processLineBuffer(data, strBuffer, onLine) {
    method _getSpawnFileName (line 1347) | _getSpawnFileName() {
    method _getSpawnArgs (line 1355) | _getSpawnArgs(options) {
    method _endsWith (line 1371) | _endsWith(str, end) {
    method _isCmdFile (line 1374) | _isCmdFile() {
    method _windowsQuoteCmdArg (line 1379) | _windowsQuoteCmdArg(arg) {
    method _uvQuoteCmdArg (line 1499) | _uvQuoteCmdArg(arg) {
    method _cloneExecOptions (line 1578) | _cloneExecOptions(options) {
    method _getSpawnOptions (line 1593) | _getSpawnOptions(options, toolPath) {
    method exec (line 1614) | exec() {
  function argStringToArray (line 1734) | function argStringToArray(argString) {
  class ExecState (line 1781) | class ExecState extends events.EventEmitter {
    method constructor (line 1782) | constructor(options, toolPath) {
    method CheckComplete (line 1801) | CheckComplete() {
    method _debug (line 1812) | _debug(message) {
    method _setResult (line 1815) | _setResult() {
    method HandleTimeout (line 1837) | static HandleTimeout(state) {
  class Context (line 1862) | class Context {
    method constructor (line 1866) | constructor() {
    method issue (line 1893) | get issue() {
    method repo (line 1897) | get repo() {
  function getOctokit (line 1955) | function getOctokit(token, options, ...additionalPlugins) {
  function adopt (line 1993) | function adopt(value) { return value instanceof P ? value : new P(functi...
  function fulfilled (line 1995) | function fulfilled(value) { try { step(generator.next(value)); } catch (...
  function rejected (line 1996) | function rejected(value) { try { step(generator["throw"](value)); } catc...
  function step (line 1997) | function step(result) { result.done ? resolve(result.value) : adopt(resu...
  function getAuthString (line 2005) | function getAuthString(token, options) {
  function getProxyAgent (line 2015) | function getProxyAgent(destinationUrl) {
  function getProxyAgentDispatcher (line 2020) | function getProxyAgentDispatcher(destinationUrl) {
  function getProxyFetch (line 2025) | function getProxyFetch(destinationUrl) {
  function getApiBaseUrl (line 2033) | function getApiBaseUrl() {
  function getOctokitOptions (line 2093) | function getOctokitOptions(token, options) {
  function adopt (line 2137) | function adopt(value) { return value instanceof P ? value : new P(functi...
  function fulfilled (line 2139) | function fulfilled(value) { try { step(generator.next(value)); } catch (...
  function rejected (line 2140) | function rejected(value) { try { step(generator["throw"](value)); } catc...
  function step (line 2141) | function step(result) { result.done ? resolve(result.value) : adopt(resu...
  function getProxyUrl (line 2195) | function getProxyUrl(serverUrl) {
  class HttpClientError (line 2215) | class HttpClientError extends Error {
    method constructor (line 2216) | constructor(message, statusCode) {
    method constructor (line 3060) | constructor(message, statusCode) {
  class HttpClientResponse (line 2224) | class HttpClientResponse {
    method constructor (line 2225) | constructor(message) {
    method readBody (line 2228) | readBody() {
    method readBodyBuffer (line 2241) | readBodyBuffer() {
    method constructor (line 3069) | constructor(message) {
    method readBody (line 3072) | readBody() {
  function isHttps (line 2256) | function isHttps(requestUrl) {
  class HttpClient (line 2261) | class HttpClient {
    method constructor (line 2262) | constructor(userAgent, handlers, requestOptions) {
    method options (line 2299) | options(requestUrl, additionalHeaders) {
    method get (line 2304) | get(requestUrl, additionalHeaders) {
    method del (line 2309) | del(requestUrl, additionalHeaders) {
    method post (line 2314) | post(requestUrl, data, additionalHeaders) {
    method patch (line 2319) | patch(requestUrl, data, additionalHeaders) {
    method put (line 2324) | put(requestUrl, data, additionalHeaders) {
    method head (line 2329) | head(requestUrl, additionalHeaders) {
    method sendStream (line 2334) | sendStream(verb, requestUrl, stream, additionalHeaders) {
    method getJson (line 2343) | getJson(requestUrl, additionalHeaders = {}) {
    method postJson (line 2350) | postJson(requestUrl, obj, additionalHeaders = {}) {
    method putJson (line 2359) | putJson(requestUrl, obj, additionalHeaders = {}) {
    method patchJson (line 2368) | patchJson(requestUrl, obj, additionalHeaders = {}) {
    method request (line 2382) | request(verb, requestUrl, data, headers) {
    method dispose (line 2467) | dispose() {
    method requestRaw (line 2478) | requestRaw(info, data) {
    method requestRawWithCallback (line 2503) | requestRawWithCallback(info, data, onResult) {
    method getAgent (line 2555) | getAgent(serverUrl) {
    method getAgentDispatcher (line 2559) | getAgentDispatcher(serverUrl) {
    method _prepareRequest (line 2568) | _prepareRequest(method, requestUrl, headers) {
    method _mergeHeaders (line 2595) | _mergeHeaders(headers) {
    method _getExistingOrDefaultHeader (line 2601) | _getExistingOrDefaultHeader(additionalHeaders, header, _default) {
    method _getAgent (line 2608) | _getAgent(parsedUrl) {
    method _getProxyAgentDispatcher (line 2663) | _getProxyAgentDispatcher(parsedUrl, proxyUrl) {
    method _performExponentialBackoff (line 2687) | _performExponentialBackoff(retryNumber) {
    method _processResponse (line 2694) | _processResponse(res, options) {
    method constructor (line 3093) | constructor(userAgent, handlers, requestOptions) {
    method options (line 3130) | options(requestUrl, additionalHeaders) {
    method get (line 3135) | get(requestUrl, additionalHeaders) {
    method del (line 3140) | del(requestUrl, additionalHeaders) {
    method post (line 3145) | post(requestUrl, data, additionalHeaders) {
    method patch (line 3150) | patch(requestUrl, data, additionalHeaders) {
    method put (line 3155) | put(requestUrl, data, additionalHeaders) {
    method head (line 3160) | head(requestUrl, additionalHeaders) {
    method sendStream (line 3165) | sendStream(verb, requestUrl, stream, additionalHeaders) {
    method getJson (line 3174) | getJson(requestUrl, additionalHeaders = {}) {
    method postJson (line 3181) | postJson(requestUrl, obj, additionalHeaders = {}) {
    method putJson (line 3190) | putJson(requestUrl, obj, additionalHeaders = {}) {
    method patchJson (line 3199) | patchJson(requestUrl, obj, additionalHeaders = {}) {
    method request (line 3213) | request(verb, requestUrl, data, headers) {
    method dispose (line 3298) | dispose() {
    method requestRaw (line 3309) | requestRaw(info, data) {
    method requestRawWithCallback (line 3334) | requestRawWithCallback(info, data, onResult) {
    method getAgent (line 3386) | getAgent(serverUrl) {
    method _prepareRequest (line 3390) | _prepareRequest(method, requestUrl, headers) {
    method _mergeHeaders (line 3417) | _mergeHeaders(headers) {
    method _getExistingOrDefaultHeader (line 3423) | _getExistingOrDefaultHeader(additionalHeaders, header, _default) {
    method _getAgent (line 3430) | _getAgent(parsedUrl) {
    method _performExponentialBackoff (line 3489) | _performExponentialBackoff(retryNumber) {
    method _processResponse (line 3496) | _processResponse(res, options) {
  function getProxyUrl (line 2773) | function getProxyUrl(reqUrl) {
  function checkBypass (line 2800) | function checkBypass(reqUrl) {
  function isLoopbackAddress (line 2844) | function isLoopbackAddress(host) {
  class DecodedURL (line 2851) | class DecodedURL extends URL {
    method constructor (line 2852) | constructor(url, base) {
    method username (line 2857) | get username() {
    method password (line 2860) | get password() {
  function adopt (line 2874) | function adopt(value) { return value instanceof P ? value : new P(functi...
  function fulfilled (line 2876) | function fulfilled(value) { try { step(generator.next(value)); } catch (...
  function rejected (line 2877) | function rejected(value) { try { step(generator["throw"](value)); } catc...
  function step (line 2878) | function step(result) { result.done ? resolve(result.value) : adopt(resu...
  class BasicCredentialHandler (line 2884) | class BasicCredentialHandler {
    method constructor (line 2885) | constructor(username, password) {
    method prepareRequest (line 2889) | prepareRequest(options) {
    method canHandleAuthentication (line 2896) | canHandleAuthentication() {
    method handleAuthentication (line 2899) | handleAuthentication() {
  class BearerCredentialHandler (line 2906) | class BearerCredentialHandler {
    method constructor (line 2907) | constructor(token) {
    method prepareRequest (line 2912) | prepareRequest(options) {
    method canHandleAuthentication (line 2919) | canHandleAuthentication() {
    method handleAuthentication (line 2922) | handleAuthentication() {
  class PersonalAccessTokenCredentialHandler (line 2929) | class PersonalAccessTokenCredentialHandler {
    method constructor (line 2930) | constructor(token) {
    method prepareRequest (line 2935) | prepareRequest(options) {
    method canHandleAuthentication (line 2942) | canHandleAuthentication() {
    method handleAuthentication (line 2945) | handleAuthentication() {
  function adopt (line 2982) | function adopt(value) { return value instanceof P ? value : new P(functi...
  function fulfilled (line 2984) | function fulfilled(value) { try { step(generator.next(value)); } catch (...
  function rejected (line 2985) | function rejected(value) { try { step(generator["throw"](value)); } catc...
  function step (line 2986) | function step(result) { result.done ? resolve(result.value) : adopt(resu...
  function getProxyUrl (line 3039) | function getProxyUrl(serverUrl) {
  class HttpClientError (line 3059) | class HttpClientError extends Error {
    method constructor (line 2216) | constructor(message, statusCode) {
    method constructor (line 3060) | constructor(message, statusCode) {
  class HttpClientResponse (line 3068) | class HttpClientResponse {
    method constructor (line 2225) | constructor(message) {
    method readBody (line 2228) | readBody() {
    method readBodyBuffer (line 2241) | readBodyBuffer() {
    method constructor (line 3069) | constructor(message) {
    method readBody (line 3072) | readBody() {
  function isHttps (line 3087) | function isHttps(requestUrl) {
  class HttpClient (line 3092) | class HttpClient {
    method constructor (line 2262) | constructor(userAgent, handlers, requestOptions) {
    method options (line 2299) | options(requestUrl, additionalHeaders) {
    method get (line 2304) | get(requestUrl, additionalHeaders) {
    method del (line 2309) | del(requestUrl, additionalHeaders) {
    method post (line 2314) | post(requestUrl, data, additionalHeaders) {
    method patch (line 2319) | patch(requestUrl, data, additionalHeaders) {
    method put (line 2324) | put(requestUrl, data, additionalHeaders) {
    method head (line 2329) | head(requestUrl, additionalHeaders) {
    method sendStream (line 2334) | sendStream(verb, requestUrl, stream, additionalHeaders) {
    method getJson (line 2343) | getJson(requestUrl, additionalHeaders = {}) {
    method postJson (line 2350) | postJson(requestUrl, obj, additionalHeaders = {}) {
    method putJson (line 2359) | putJson(requestUrl, obj, additionalHeaders = {}) {
    method patchJson (line 2368) | patchJson(requestUrl, obj, additionalHeaders = {}) {
    method request (line 2382) | request(verb, requestUrl, data, headers) {
    method dispose (line 2467) | dispose() {
    method requestRaw (line 2478) | requestRaw(info, data) {
    method requestRawWithCallback (line 2503) | requestRawWithCallback(info, data, onResult) {
    method getAgent (line 2555) | getAgent(serverUrl) {
    method getAgentDispatcher (line 2559) | getAgentDispatcher(serverUrl) {
    method _prepareRequest (line 2568) | _prepareRequest(method, requestUrl, headers) {
    method _mergeHeaders (line 2595) | _mergeHeaders(headers) {
    method _getExistingOrDefaultHeader (line 2601) | _getExistingOrDefaultHeader(additionalHeaders, header, _default) {
    method _getAgent (line 2608) | _getAgent(parsedUrl) {
    method _getProxyAgentDispatcher (line 2663) | _getProxyAgentDispatcher(parsedUrl, proxyUrl) {
    method _performExponentialBackoff (line 2687) | _performExponentialBackoff(retryNumber) {
    method _processResponse (line 2694) | _processResponse(res, options) {
    method constructor (line 3093) | constructor(userAgent, handlers, requestOptions) {
    method options (line 3130) | options(requestUrl, additionalHeaders) {
    method get (line 3135) | get(requestUrl, additionalHeaders) {
    method del (line 3140) | del(requestUrl, additionalHeaders) {
    method post (line 3145) | post(requestUrl, data, additionalHeaders) {
    method patch (line 3150) | patch(requestUrl, data, additionalHeaders) {
    method put (line 3155) | put(requestUrl, data, additionalHeaders) {
    method head (line 3160) | head(requestUrl, additionalHeaders) {
    method sendStream (line 3165) | sendStream(verb, requestUrl, stream, additionalHeaders) {
    method getJson (line 3174) | getJson(requestUrl, additionalHeaders = {}) {
    method postJson (line 3181) | postJson(requestUrl, obj, additionalHeaders = {}) {
    method putJson (line 3190) | putJson(requestUrl, obj, additionalHeaders = {}) {
    method patchJson (line 3199) | patchJson(requestUrl, obj, additionalHeaders = {}) {
    method request (line 3213) | request(verb, requestUrl, data, headers) {
    method dispose (line 3298) | dispose() {
    method requestRaw (line 3309) | requestRaw(info, data) {
    method requestRawWithCallback (line 3334) | requestRawWithCallback(info, data, onResult) {
    method getAgent (line 3386) | getAgent(serverUrl) {
    method _prepareRequest (line 3390) | _prepareRequest(method, requestUrl, headers) {
    method _mergeHeaders (line 3417) | _mergeHeaders(headers) {
    method _getExistingOrDefaultHeader (line 3423) | _getExistingOrDefaultHeader(additionalHeaders, header, _default) {
    method _getAgent (line 3430) | _getAgent(parsedUrl) {
    method _performExponentialBackoff (line 3489) | _performExponentialBackoff(retryNumber) {
    method _processResponse (line 3496) | _processResponse(res, options) {
  function getProxyUrl (line 3575) | function getProxyUrl(reqUrl) {
  function checkBypass (line 3596) | function checkBypass(reqUrl) {
  function adopt (line 3661) | function adopt(value) { return value instanceof P ? value : new P(functi...
  function fulfilled (line 3663) | function fulfilled(value) { try { step(generator.next(value)); } catch (...
  function rejected (line 3664) | function rejected(value) { try { step(generator["throw"](value)); } catc...
  function step (line 3665) | function step(result) { result.done ? resolve(result.value) : adopt(resu...
  function exists (line 3682) | function exists(fsPath) {
  function isDirectory (line 3697) | function isDirectory(fsPath, useStat = false) {
  function isRooted (line 3708) | function isRooted(p) {
  function tryGetExecutablePath (line 3726) | function tryGetExecutablePath(filePath, extensions) {
  function normalizeSeparators (line 3797) | function normalizeSeparators(p) {
  function isUnixExecutable (line 3811) | function isUnixExecutable(stats) {
  function getCmdPath (line 3817) | function getCmdPath() {
  function adopt (line 3851) | function adopt(value) { return value instanceof P ? value : new P(functi...
  function fulfilled (line 3853) | function fulfilled(value) { try { step(generator.next(value)); } catch (...
  function rejected (line 3854) | function rejected(value) { try { step(generator["throw"](value)); } catc...
  function step (line 3855) | function step(result) { result.done ? resolve(result.value) : adopt(resu...
  function cp (line 3872) | function cp(source, dest, options = {}) {
  function mv (line 3913) | function mv(source, dest, options = {}) {
  function rmRF (line 3941) | function rmRF(inputPath) {
  function mkdirP (line 3972) | function mkdirP(fsPath) {
  function which (line 3987) | function which(tool, check) {
  function findInPath (line 4018) | function findInPath(tool) {
  function readCopyOptions (line 4070) | function readCopyOptions(options) {
  function cpDirRecursive (line 4078) | function cpDirRecursive(sourceDir, destDir, currentDepth, force) {
  function copyFile (line 4103) | function copyFile(srcFile, destFile, force) {
  function message (line 4175) | function message (commitText) {
  function summary (line 4241) | function summary (scanner) {
  function type (line 4290) | function type (scanner) {
  function text (line 4309) | function text (scanner) {
  function scope (line 4324) | function scope (scanner) {
  function body (line 4359) | function body (scanner) {
  function preFooter (line 4395) | function preFooter (scanner) {
  function footer (line 4409) | function footer (scanner) {
  function token (line 4451) | function token (scanner) {
  function breakingChange (line 4487) | function breakingChange (scanner, allowBang = true) {
  function value (line 4505) | function value (scanner) {
  function continuation (line 4519) | function continuation (scanner) {
  function separator (line 4545) | function separator (scanner) {
  function whitespace (line 4571) | function whitespace (scanner) {
  function newline (line 4585) | function newline (scanner) {
  class Scanner (line 4607) | class Scanner {
    method constructor (line 4608) | constructor (text, pos) {
    method eof (line 4613) | eof () {
    method next (line 4617) | next (n) {
    method peek (line 4633) | peek () {
    method peekLiteral (line 4642) | peekLiteral (literal) {
    method position (line 4647) | position () {
    method rewind (line 4651) | rewind (pos) {
    method enter (line 4655) | enter (type, content) {
    method exit (line 4662) | exit (node) {
    method abort (line 4667) | abort (node, expectedTokens) {
  method isWhitespace (line 4696) | isWhitespace (token) {
  method isNewline (line 4703) | isNewline (token) {
  method isParens (line 4711) | isParens (token) {
  function toConventionalChangelogFormat (line 4728) | function toConventionalChangelogFormat (ast) {
  function auth (line 4913) | async function auth(token) {
  function withAuthorizationPrefix (line 4926) | function withAuthorizationPrefix(token) {
  function hook (line 4934) | async function hook(token, request, route, parameters) {
  function createLogger (line 5007) | function createLogger(logger = {}) {
  method defaults (line 5027) | static defaults(defaults) {
  method plugin (line 5058) | static plugin(...newPlugins) {
  method constructor (line 5069) | constructor(options = {}) {
  function lowercaseKeys (line 5191) | function lowercaseKeys(object) {
  function isPlainObject (line 5202) | function isPlainObject(value) {
  function mergeDeep (line 5215) | function mergeDeep(defaults, options) {
  function removeUndefinedProperties (line 5231) | function removeUndefinedProperties(obj) {
  function merge (line 5241) | function merge(defaults, route, options) {
  function addQueryParameters (line 5264) | function addQueryParameters(url, parameters) {
  function removeNonChars (line 5280) | function removeNonChars(variableName) {
  function extractUrlVariableNames (line 5283) | function extractUrlVariableNames(url) {
  function omit (line 5292) | function omit(object, keysToOmit) {
  function encodeReserved (line 5303) | function encodeReserved(str) {
  function encodeUnreserved (line 5311) | function encodeUnreserved(str) {
  function encodeValue (line 5316) | function encodeValue(operator, value, key) {
  function isDefined (line 5324) | function isDefined(value) {
  function isKeyOperator (line 5327) | function isKeyOperator(operator) {
  function getValues (line 5330) | function getValues(context, operator, key, modifier) {
  function parseUrl (line 5390) | function parseUrl(template) {
  function expand (line 5395) | function expand(template, context) {
  function parse (line 5435) | function parse(options) {
  function endpointWithDefaults (line 5500) | function endpointWithDefaults(defaults, route, options) {
  function withDefaults (line 5505) | function withDefaults(oldDefaults, newDefaults) {
  function _buildMessageForResponseErrors (line 5568) | function _buildMessageForResponseErrors(data) {
  method constructor (line 5573) | constructor(request2, headers, response) {
  function graphql (line 5599) | function graphql(request2, query, options) {
  function withDefaults (line 5650) | function withDefaults(request2, newDefaults) {
  function withCustomRequest (line 5669) | function withCustomRequest(customRequest) {
  function normalizePaginatedListResponse (line 5718) | function normalizePaginatedListResponse(response) {
  function iterator (line 5748) | function iterator(octokit, route, parameters) {
  function paginate (line 5784) | function paginate(octokit, route, parameters, mapFn) {
  function gather (line 5796) | function gather(octokit, results, iterator2, mapFn) {
  function isPaginatingEndpoint (line 6059) | function isPaginatingEndpoint(arg) {
  function paginateRest (line 6068) | function paginateRest(octokit) {
  method has (line 8132) | has({ scope }, methodName) {
  method getOwnPropertyDescriptor (line 8135) | getOwnPropertyDescriptor(target, methodName) {
  method defineProperty (line 8144) | defineProperty(target, methodName, descriptor) {
  method deleteProperty (line 8148) | deleteProperty(target, methodName) {
  method ownKeys (line 8152) | ownKeys({ scope }) {
  method set (line 8155) | set(target, methodName, value) {
  method get (line 8158) | get({ octokit, scope, cache }, methodName) {
  function endpointsToMethods (line 8181) | function endpointsToMethods(octokit) {
  function decorate (line 8188) | function decorate(octokit, scope, methodName, defaults, decorations) {
  function restEndpointMethods (line 8231) | function restEndpointMethods(octokit) {
  function legacyRestEndpointMethods (line 8238) | function legacyRestEndpointMethods(octokit) {
  method constructor (line 8296) | constructor(message, statusCode, options) {
  function isPlainObject (line 8386) | function isPlainObject(value) {
  function getBufferResponse (line 8402) | function getBufferResponse(response) {
  function fetchWrapper (line 8407) | function fetchWrapper(requestOptions) {
  function getResponseData (line 8515) | async function getResponseData(response) {
  function toErrorMessage (line 8525) | function toErrorMessage(data) {
  function withDefaults (line 8544) | function withDefaults(oldEndpoint, newDefaults) {
  function bindApi (line 8591) | function bindApi (hook, state, name) {
  function HookSingular (line 8602) | function HookSingular () {
  function HookCollection (line 8612) | function HookCollection () {
  function Hook (line 8624) | function Hook () {
  function addHook (line 8649) | function addHook(state, kind, name, hook) {
  function register (line 8702) | function register(state, name, method, options) {
  function removeHook (line 8736) | function removeHook(state, name, method) {
  class Deprecation (line 8765) | class Deprecation extends Error {
    method constructor (line 8766) | constructor(message) {
  function apply (line 9273) | function apply(func, thisArg, args) {
  function arrayAggregator (line 9293) | function arrayAggregator(array, setter, iteratee, accumulator) {
  function arrayEach (line 9313) | function arrayEach(array, iteratee) {
  function arrayEachRight (line 9334) | function arrayEachRight(array, iteratee) {
  function arrayEvery (line 9355) | function arrayEvery(array, predicate) {
  function arrayFilter (line 9376) | function arrayFilter(array, predicate) {
  function arrayIncludes (line 9400) | function arrayIncludes(array, value) {
  function arrayIncludesWith (line 9414) | function arrayIncludesWith(array, value, comparator) {
  function arrayMap (line 9435) | function arrayMap(array, iteratee) {
  function arrayPush (line 9454) | function arrayPush(array, values) {
  function arrayReduce (line 9477) | function arrayReduce(array, iteratee, accumulator, initAccum) {
  function arrayReduceRight (line 9502) | function arrayReduceRight(array, iteratee, accumulator, initAccum) {
  function arraySome (line 9523) | function arraySome(array, predicate) {
  function asciiToArray (line 9551) | function asciiToArray(string) {
  function asciiWords (line 9562) | function asciiWords(string) {
  function baseFindKey (line 9577) | function baseFindKey(collection, predicate, eachFunc) {
  function baseFindIndex (line 9599) | function baseFindIndex(array, predicate, fromIndex, fromRight) {
  function baseIndexOf (line 9620) | function baseIndexOf(array, value, fromIndex) {
  function baseIndexOfWith (line 9636) | function baseIndexOfWith(array, value, fromIndex, comparator) {
  function baseIsNaN (line 9655) | function baseIsNaN(value) {
  function baseMean (line 9668) | function baseMean(array, iteratee) {
  function baseProperty (line 9680) | function baseProperty(key) {
  function basePropertyOf (line 9693) | function basePropertyOf(object) {
  function baseReduce (line 9712) | function baseReduce(collection, iteratee, accumulator, initAccum, eachFu...
  function baseSortBy (line 9731) | function baseSortBy(array, comparer) {
  function baseSum (line 9750) | function baseSum(array, iteratee) {
  function baseTimes (line 9773) | function baseTimes(n, iteratee) {
  function baseToPairs (line 9792) | function baseToPairs(object, props) {
  function baseTrim (line 9805) | function baseTrim(string) {
  function baseUnary (line 9818) | function baseUnary(func) {
  function baseValues (line 9834) | function baseValues(object, props) {
  function cacheHas (line 9848) | function cacheHas(cache, key) {
  function charsStartIndex (line 9861) | function charsStartIndex(strSymbols, chrSymbols) {
  function charsEndIndex (line 9878) | function charsEndIndex(strSymbols, chrSymbols) {
  function countHolders (line 9893) | function countHolders(array, placeholder) {
  function escapeStringChar (line 9931) | function escapeStringChar(chr) {
  function getValue (line 9943) | function getValue(object, key) {
  function hasUnicode (line 9954) | function hasUnicode(string) {
  function hasUnicodeWord (line 9965) | function hasUnicodeWord(string) {
  function iteratorToArray (line 9976) | function iteratorToArray(iterator) {
  function mapToArray (line 9993) | function mapToArray(map) {
  function overArg (line 10011) | function overArg(func, transform) {
  function replaceHolders (line 10026) | function replaceHolders(array, placeholder) {
  function setToArray (line 10049) | function setToArray(set) {
  function setToPairs (line 10066) | function setToPairs(set) {
  function strictIndexOf (line 10086) | function strictIndexOf(array, value, fromIndex) {
  function strictLastIndexOf (line 10108) | function strictLastIndexOf(array, value, fromIndex) {
  function stringSize (line 10125) | function stringSize(string) {
  function stringToArray (line 10138) | function stringToArray(string) {
  function trimmedEndIndex (line 10152) | function trimmedEndIndex(string) {
  function unicodeSize (line 10175) | function unicodeSize(string) {
  function unicodeToArray (line 10190) | function unicodeToArray(string) {
  function unicodeWords (line 10201) | function unicodeWords(string) {
  function lodash (line 10478) | function lodash(value) {
  function object (line 10499) | function object() {}
  function baseLodash (line 10519) | function baseLodash() {
  function LodashWrapper (line 10530) | function LodashWrapper(value, chainAll) {
  function LazyWrapper (line 10615) | function LazyWrapper(value) {
  function lazyClone (line 10633) | function lazyClone() {
  function lazyReverse (line 10652) | function lazyReverse() {
  function lazyValue (line 10672) | function lazyValue() {
  function Hash (line 10734) | function Hash(entries) {
  function hashClear (line 10752) | function hashClear() {
  function hashDelete (line 10767) | function hashDelete(key) {
  function hashGet (line 10782) | function hashGet(key) {
  function hashHas (line 10800) | function hashHas(key) {
  function hashSet (line 10815) | function hashSet(key, value) {
  function ListCache (line 10838) | function ListCache(entries) {
  function listCacheClear (line 10856) | function listCacheClear() {
  function listCacheDelete (line 10870) | function listCacheDelete(key) {
  function listCacheGet (line 10896) | function listCacheGet(key) {
  function listCacheHas (line 10912) | function listCacheHas(key) {
  function listCacheSet (line 10926) | function listCacheSet(key, value) {
  function MapCache (line 10955) | function MapCache(entries) {
  function mapCacheClear (line 10973) | function mapCacheClear() {
  function mapCacheDelete (line 10991) | function mapCacheDelete(key) {
  function mapCacheGet (line 11006) | function mapCacheGet(key) {
  function mapCacheHas (line 11019) | function mapCacheHas(key) {
  function mapCacheSet (line 11033) | function mapCacheSet(key, value) {
  function SetCache (line 11059) | function SetCache(values) {
  function setCacheAdd (line 11079) | function setCacheAdd(value) {
  function setCacheHas (line 11093) | function setCacheHas(value) {
  function Stack (line 11110) | function Stack(entries) {
  function stackClear (line 11122) | function stackClear() {
  function stackDelete (line 11136) | function stackDelete(key) {
  function stackGet (line 11153) | function stackGet(key) {
  function stackHas (line 11166) | function stackHas(key) {
  function stackSet (line 11180) | function stackSet(key, value) {
  function arrayLikeKeys (line 11213) | function arrayLikeKeys(value, inherited) {
  function arraySample (line 11247) | function arraySample(array) {
  function arraySampleSize (line 11260) | function arraySampleSize(array, n) {
  function arrayShuffle (line 11271) | function arrayShuffle(array) {
  function assignMergeValue (line 11284) | function assignMergeValue(object, key, value) {
  function assignValue (line 11301) | function assignValue(object, key, value) {
  function assocIndexOf (line 11317) | function assocIndexOf(array, key) {
  function baseAggregator (line 11338) | function baseAggregator(collection, setter, iteratee, accumulator) {
  function baseAssign (line 11354) | function baseAssign(object, source) {
  function baseAssignIn (line 11367) | function baseAssignIn(object, source) {
  function baseAssignValue (line 11380) | function baseAssignValue(object, key, value) {
  function baseAt (line 11401) | function baseAt(object, paths) {
  function baseClamp (line 11422) | function baseClamp(number, lower, upper) {
  function baseClone (line 11450) | function baseClone(value, bitmask, customizer, key, object, stack) {
  function baseConforms (line 11533) | function baseConforms(source) {
  function baseConformsTo (line 11548) | function baseConformsTo(object, source, props) {
  function baseDelay (line 11576) | function baseDelay(func, wait, args) {
  function baseDifference (line 11594) | function baseDifference(array, values, iteratee, comparator) {
  function baseEvery (line 11668) | function baseEvery(collection, predicate) {
  function baseExtremum (line 11687) | function baseExtremum(array, iteratee, comparator) {
  function baseFill (line 11716) | function baseFill(array, value, start, end) {
  function baseFilter (line 11742) | function baseFilter(collection, predicate) {
  function baseFlatten (line 11763) | function baseFlatten(array, depth, predicate, isStrict, result) {
  function baseForOwn (line 11819) | function baseForOwn(object, iteratee) {
  function baseForOwnRight (line 11831) | function baseForOwnRight(object, iteratee) {
  function baseFunctions (line 11844) | function baseFunctions(object, props) {
  function baseGet (line 11858) | function baseGet(object, path) {
  function baseGetAllKeys (line 11881) | function baseGetAllKeys(object, keysFunc, symbolsFunc) {
  function baseGetTag (line 11893) | function baseGetTag(value) {
  function baseGt (line 11911) | function baseGt(value, other) {
  function baseHas (line 11923) | function baseHas(object, key) {
  function baseHasIn (line 11935) | function baseHasIn(object, key) {
  function baseInRange (line 11948) | function baseInRange(number, start, end) {
  function baseIntersection (line 11962) | function baseIntersection(arrays, iteratee, comparator) {
  function baseInverter (line 12026) | function baseInverter(object, setter, iteratee, accumulator) {
  function baseInvoke (line 12043) | function baseInvoke(object, path, args) {
  function baseIsArguments (line 12057) | function baseIsArguments(value) {
  function baseIsArrayBuffer (line 12068) | function baseIsArrayBuffer(value) {
  function baseIsDate (line 12079) | function baseIsDate(value) {
  function baseIsEqual (line 12097) | function baseIsEqual(value, other, bitmask, customizer, stack) {
  function baseIsEqualDeep (line 12121) | function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, ...
  function baseIsMap (line 12173) | function baseIsMap(value) {
  function baseIsMatch (line 12187) | function baseIsMatch(object, source, matchData, customizer) {
  function baseIsNative (line 12239) | function baseIsNative(value) {
  function baseIsRegExp (line 12254) | function baseIsRegExp(value) {
  function baseIsSet (line 12265) | function baseIsSet(value) {
  function baseIsTypedArray (line 12276) | function baseIsTypedArray(value) {
  function baseIteratee (line 12288) | function baseIteratee(value) {
  function baseKeys (line 12312) | function baseKeys(object) {
  function baseKeysIn (line 12332) | function baseKeysIn(object) {
  function baseLt (line 12356) | function baseLt(value, other) {
  function baseMap (line 12368) | function baseMap(collection, iteratee) {
  function baseMatches (line 12385) | function baseMatches(source) {
  function baseMatchesProperty (line 12403) | function baseMatchesProperty(path, srcValue) {
  function baseMerge (line 12426) | function baseMerge(object, source, srcIndex, customizer, stack) {
  function baseMergeDeep (line 12463) | function baseMergeDeep(object, source, key, srcIndex, mergeFunc, customi...
  function baseNth (line 12533) | function baseNth(array, n) {
  function baseOrderBy (line 12551) | function baseOrderBy(collection, iteratees, orders) {
  function basePick (line 12589) | function basePick(object, paths) {
  function basePickBy (line 12604) | function basePickBy(object, paths, predicate) {
  function basePropertyDeep (line 12627) | function basePropertyDeep(path) {
  function basePullAll (line 12644) | function basePullAll(array, values, iteratee, comparator) {
  function basePullAt (line 12680) | function basePullAt(array, indexes) {
  function baseRandom (line 12707) | function baseRandom(lower, upper) {
  function baseRange (line 12722) | function baseRange(start, end, step, fromRight) {
  function baseRepeat (line 12742) | function baseRepeat(string, n) {
  function baseRest (line 12770) | function baseRest(func, start) {
  function baseSample (line 12781) | function baseSample(collection) {
  function baseSampleSize (line 12793) | function baseSampleSize(collection, n) {
  function baseSet (line 12808) | function baseSet(object, path, value, customizer) {
  function baseShuffle (line 12879) | function baseShuffle(collection) {
  function baseSlice (line 12892) | function baseSlice(array, start, end) {
  function baseSome (line 12922) | function baseSome(collection, predicate) {
  function baseSortedIndex (line 12944) | function baseSortedIndex(array, value, retHighest) {
  function baseSortedIndexBy (line 12978) | function baseSortedIndexBy(array, value, iteratee, retHighest) {
  function baseSortedUniq (line 13030) | function baseSortedUniq(array, iteratee) {
  function baseToNumber (line 13056) | function baseToNumber(value) {
  function baseToString (line 13074) | function baseToString(value) {
  function baseUniq (line 13099) | function baseUniq(array, iteratee, comparator) {
  function baseUnset (line 13159) | function baseUnset(object, path) {
  function baseUpdate (line 13175) | function baseUpdate(object, path, updater, customizer) {
  function baseWhile (line 13190) | function baseWhile(array, predicate, isDrop, fromRight) {
  function baseWrapperValue (line 13212) | function baseWrapperValue(value, actions) {
  function baseXor (line 13232) | function baseXor(arrays, iteratee, comparator) {
  function baseZipObject (line 13262) | function baseZipObject(props, values, assignFunc) {
  function castArrayLikeObject (line 13282) | function castArrayLikeObject(value) {
  function castFunction (line 13293) | function castFunction(value) {
  function castPath (line 13305) | function castPath(value, object) {
  function castSlice (line 13332) | function castSlice(array, start, end) {
  function cloneBuffer (line 13356) | function cloneBuffer(buffer, isDeep) {
  function cloneArrayBuffer (line 13374) | function cloneArrayBuffer(arrayBuffer) {
  function cloneDataView (line 13388) | function cloneDataView(dataView, isDeep) {
  function cloneRegExp (line 13400) | function cloneRegExp(regexp) {
  function cloneSymbol (line 13413) | function cloneSymbol(symbol) {
  function cloneTypedArray (line 13425) | function cloneTypedArray(typedArray, isDeep) {
  function compareAscending (line 13438) | function compareAscending(value, other) {
  function compareMultiple (line 13482) | function compareMultiple(object, other, orders) {
  function composeArgs (line 13520) | function composeArgs(args, partials, holders, isCurried) {
  function composeArgsRight (line 13555) | function composeArgsRight(args, partials, holders, isCurried) {
  function copyArray (line 13589) | function copyArray(source, array) {
  function copyObject (line 13610) | function copyObject(source, props, object, customizer) {
  function copySymbols (line 13644) | function copySymbols(source, object) {
  function copySymbolsIn (line 13656) | function copySymbolsIn(source, object) {
  function createAggregator (line 13668) | function createAggregator(setter, initializer) {
  function createAssigner (line 13684) | function createAssigner(assigner) {
  function createBaseEach (line 13718) | function createBaseEach(eachFunc, fromRight) {
  function createBaseFor (line 13746) | function createBaseFor(fromRight) {
  function createBind (line 13773) | function createBind(func, bitmask, thisArg) {
  function createCaseFirst (line 13791) | function createCaseFirst(methodName) {
  function createCompounder (line 13818) | function createCompounder(callback) {
  function createCtor (line 13832) | function createCtor(Ctor) {
  function createCurry (line 13866) | function createCurry(func, bitmask, arity) {
  function createFind (line 13901) | function createFind(findIndexFunc) {
  function createFlow (line 13921) | function createFlow(fromRight) {
  function createHybrid (line 13994) | function createHybrid(func, bitmask, thisArg, partials, holders, partial...
  function createInverter (line 14056) | function createInverter(setter, toIteratee) {
  function createMathOperation (line 14070) | function createMathOperation(operator, defaultValue) {
  function createOver (line 14103) | function createOver(arrayFunc) {
  function createPadding (line 14124) | function createPadding(length, chars) {
  function createPartial (line 14149) | function createPartial(func, bitmask, thisArg, partials) {
  function createRange (line 14179) | function createRange(fromRight) {
  function createRelationalOperation (line 14204) | function createRelationalOperation(operator) {
  function createRecurry (line 14231) | function createRecurry(func, bitmask, wrapFunc, placeholder, thisArg, pa...
  function createRound (line 14264) | function createRound(methodName) {
  function createToPairs (line 14300) | function createToPairs(keysFunc) {
  function createWrap (line 14338) | function createWrap(func, bitmask, thisArg, partials, holders, argPos, a...
  function customDefaultsAssignIn (line 14405) | function customDefaultsAssignIn(objValue, srcValue, key, object) {
  function customDefaultsMerge (line 14427) | function customDefaultsMerge(objValue, srcValue, key, object, source, st...
  function customOmitClone (line 14446) | function customOmitClone(value) {
  function equalArrays (line 14463) | function equalArrays(array, other, bitmask, customizer, equalFunc, stack) {
  function equalByTag (line 14542) | function equalByTag(object, other, tag, bitmask, customizer, equalFunc, ...
  function equalObjects (line 14620) | function equalObjects(object, other, bitmask, customizer, equalFunc, sta...
  function flatRest (line 14692) | function flatRest(func) {
  function getAllKeys (line 14703) | function getAllKeys(object) {
  function getAllKeysIn (line 14715) | function getAllKeysIn(object) {
  function getFuncName (line 14737) | function getFuncName(func) {
  function getHolder (line 14759) | function getHolder(func) {
  function getIteratee (line 14775) | function getIteratee() {
  function getMapData (line 14789) | function getMapData(map, key) {
  function getMatchData (line 14803) | function getMatchData(object) {
  function getNative (line 14824) | function getNative(object, key) {
  function getRawTag (line 14836) | function getRawTag(value) {
  function getView (line 14932) | function getView(start, end, transforms) {
  function getWrapDetails (line 14957) | function getWrapDetails(source) {
  function hasPath (line 14971) | function hasPath(object, path, hasFunc) {
  function initCloneArray (line 15000) | function initCloneArray(array) {
  function initCloneObject (line 15019) | function initCloneObject(object) {
  function initCloneByTag (line 15037) | function initCloneByTag(object, tag, isDeep) {
  function insertWrapDetails (line 15081) | function insertWrapDetails(source, details) {
  function isFlattenable (line 15099) | function isFlattenable(value) {
  function isIndex (line 15112) | function isIndex(value, length) {
  function isIterateeCall (line 15132) | function isIterateeCall(value, index, object) {
  function isKey (line 15154) | function isKey(value, object) {
  function isKeyable (line 15174) | function isKeyable(value) {
  function isLaziable (line 15189) | function isLaziable(func) {
  function isMasked (line 15210) | function isMasked(func) {
  function isPrototype (line 15230) | function isPrototype(value) {
  function isStrictComparable (line 15245) | function isStrictComparable(value) {
  function matchesStrictComparable (line 15258) | function matchesStrictComparable(key, srcValue) {
  function memoizeCapped (line 15276) | function memoizeCapped(func) {
  function mergeData (line 15304) | function mergeData(data, source) {
  function nativeKeysIn (line 15368) | function nativeKeysIn(object) {
  function objectToString (line 15385) | function objectToString(value) {
  function overRest (line 15398) | function overRest(func, start, transform) {
  function parent (line 15427) | function parent(object, path) {
  function reorder (line 15441) | function reorder(array, indexes) {
  function safeGet (line 15461) | function safeGet(object, key) {
  function setWrapToString (line 15521) | function setWrapToString(wrapper, reference, bitmask) {
  function shortOut (line 15535) | function shortOut(func) {
  function shuffleSelf (line 15563) | function shuffleSelf(array, size) {
  function toKey (line 15605) | function toKey(value) {
  function toSource (line 15620) | function toSource(func) {
  function updateWrapDetails (line 15640) | function updateWrapDetails(details, bitmask) {
  function wrapperClone (line 15657) | function wrapperClone(wrapper) {
  function chunk (line 15691) | function chunk(array, size, guard) {
  function compact (line 15726) | function compact(array) {
  function concat (line 15763) | function concat() {
  function drop (line 15899) | function drop(array, n, guard) {
  function dropRight (line 15933) | function dropRight(array, n, guard) {
  function dropRightWhile (line 15978) | function dropRightWhile(array, predicate) {
  function dropWhile (line 16019) | function dropWhile(array, predicate) {
  function fill (line 16054) | function fill(array, value, start, end) {
  function findIndex (line 16101) | function findIndex(array, predicate, fromIndex) {
  function findLastIndex (line 16148) | function findLastIndex(array, predicate, fromIndex) {
  function flatten (line 16177) | function flatten(array) {
  function flattenDeep (line 16196) | function flattenDeep(array) {
  function flattenDepth (line 16221) | function flattenDepth(array, depth) {
  function fromPairs (line 16245) | function fromPairs(pairs) {
  function head (line 16275) | function head(array) {
  function indexOf (line 16302) | function indexOf(array, value, fromIndex) {
  function initial (line 16328) | function initial(array) {
  function join (line 16443) | function join(array, separator) {
  function last (line 16461) | function last(array) {
  function lastIndexOf (line 16487) | function lastIndexOf(array, value, fromIndex) {
  function nth (line 16523) | function nth(array, n) {
  function pullAll (line 16572) | function pullAll(array, values) {
  function pullAllBy (line 16601) | function pullAllBy(array, values, iteratee) {
  function pullAllWith (line 16630) | function pullAllWith(array, values, comparator) {
  function remove (line 16699) | function remove(array, predicate) {
  function reverse (line 16743) | function reverse(array) {
  function slice (line 16763) | function slice(array, start, end) {
  function sortedIndex (line 16796) | function sortedIndex(array, value) {
  function sortedIndexBy (line 16825) | function sortedIndexBy(array, value, iteratee) {
  function sortedIndexOf (line 16845) | function sortedIndexOf(array, value) {
  function sortedLastIndex (line 16874) | function sortedLastIndex(array, value) {
  function sortedLastIndexBy (line 16903) | function sortedLastIndexBy(array, value, iteratee) {
  function sortedLastIndexOf (line 16923) | function sortedLastIndexOf(array, value) {
  function sortedUniq (line 16949) | function sortedUniq(array) {
  function sortedUniqBy (line 16971) | function sortedUniqBy(array, iteratee) {
  function tail (line 16991) | function tail(array) {
  function take (line 17021) | function take(array, n, guard) {
  function takeRight (line 17054) | function takeRight(array, n, guard) {
  function takeRightWhile (line 17099) | function takeRightWhile(array, predicate) {
  function takeWhile (line 17140) | function takeWhile(array, predicate) {
  function uniq (line 17242) | function uniq(array) {
  function uniqBy (line 17269) | function uniqBy(array, iteratee) {
  function uniqWith (line 17293) | function uniqWith(array, comparator) {
  function unzip (line 17317) | function unzip(array) {
  function unzipWith (line 17354) | function unzipWith(array, iteratee) {
  function zipObject (line 17507) | function zipObject(props, values) {
  function zipObjectDeep (line 17526) | function zipObjectDeep(props, values) {
  function chain (line 17589) | function chain(value) {
  function tap (line 17618) | function tap(value, interceptor) {
  function thru (line 17646) | function thru(value, interceptor) {
  function wrapperChain (line 17717) | function wrapperChain() {
  function wrapperCommit (line 17747) | function wrapperCommit() {
  function wrapperNext (line 17773) | function wrapperNext() {
  function wrapperToIterator (line 17801) | function wrapperToIterator() {
  function wrapperPlant (line 17829) | function wrapperPlant(value) {
  function wrapperReverse (line 17869) | function wrapperReverse() {
  function wrapperValue (line 17901) | function wrapperValue() {
  function every (line 17978) | function every(collection, predicate, guard) {
  function filter (line 18027) | function filter(collection, predicate) {
  function flatMap (line 18112) | function flatMap(collection, iteratee) {
  function flatMapDeep (line 18136) | function flatMapDeep(collection, iteratee) {
  function flatMapDepth (line 18161) | function flatMapDepth(collection, iteratee, depth) {
  function forEach (line 18196) | function forEach(collection, iteratee) {
  function forEachRight (line 18221) | function forEachRight(collection, iteratee) {
  function includes (line 18287) | function includes(collection, value, fromIndex, guard) {
  function map (line 18408) | function map(collection, iteratee) {
  function orderBy (line 18442) | function orderBy(collection, iteratees, orders, guard) {
  function reduce (line 18533) | function reduce(collection, iteratee, accumulator) {
  function reduceRight (line 18562) | function reduceRight(collection, iteratee, accumulator) {
  function reject (line 18603) | function reject(collection, predicate) {
  function sample (line 18622) | function sample(collection) {
  function sampleSize (line 18647) | function sampleSize(collection, n, guard) {
  function shuffle (line 18672) | function shuffle(collection) {
  function size (line 18698) | function size(collection) {
  function some (line 18748) | function some(collection, predicate, guard) {
  function after (line 18846) | function after(n, func) {
  function ary (line 18875) | function ary(func, n, guard) {
  function before (line 18898) | function before(n, func) {
  function curry (line 19054) | function curry(func, arity, guard) {
  function curryRight (line 19099) | function curryRight(func, arity, guard) {
  function debounce (line 19160) | function debounce(func, wait, options) {
  function flip (line 19348) | function flip(func) {
  function memoize (line 19396) | function memoize(func, resolver) {
  function negate (line 19439) | function negate(predicate) {
  function once (line 19473) | function once(func) {
  function rest (line 19651) | function rest(func, start) {
  function spread (line 19693) | function spread(func, start) {
  function throttle (line 19753) | function throttle(func, wait, options) {
  function unary (line 19786) | function unary(func) {
  function wrap (line 19812) | function wrap(value, wrapper) {
  function castArray (line 19851) | function castArray() {
  function clone (line 19885) | function clone(value) {
  function cloneWith (line 19920) | function cloneWith(value, customizer) {
  function cloneDeep (line 19943) | function cloneDeep(value) {
  function cloneDeepWith (line 19975) | function cloneDeepWith(value, customizer) {
  function conformsTo (line 20004) | function conformsTo(object, source) {
  function eq (line 20040) | function eq(value, other) {
  function isArrayLike (line 20188) | function isArrayLike(value) {
  function isArrayLikeObject (line 20217) | function isArrayLikeObject(value) {
  function isBoolean (line 20238) | function isBoolean(value) {
  function isElement (line 20298) | function isElement(value) {
  function isEmpty (line 20335) | function isEmpty(value) {
  function isEqual (line 20387) | function isEqual(value, other) {
  function isEqualWith (line 20423) | function isEqualWith(value, other, customizer) {
  function isError (line 20447) | function isError(value) {
  function isFinite (line 20482) | function isFinite(value) {
  function isFunction (line 20503) | function isFunction(value) {
  function isInteger (line 20539) | function isInteger(value) {
  function isLength (line 20569) | function isLength(value) {
  function isObject (line 20599) | function isObject(value) {
  function isObjectLike (line 20628) | function isObjectLike(value) {
  function isMatch (line 20679) | function isMatch(object, source) {
  function isMatchWith (line 20715) | function isMatchWith(object, source, customizer) {
  function isNaN (line 20748) | function isNaN(value) {
  function isNative (line 20781) | function isNative(value) {
  function isNull (line 20805) | function isNull(value) {
  function isNil (line 20829) | function isNil(value) {
  function isNumber (line 20859) | function isNumber(value) {
  function isPlainObject (line 20892) | function isPlainObject(value) {
  function isSafeInteger (line 20951) | function isSafeInteger(value) {
  function isString (line 20991) | function isString(value) {
  function isSymbol (line 21013) | function isSymbol(value) {
  function isUndefined (line 21054) | function isUndefined(value) {
  function isWeakMap (line 21075) | function isWeakMap(value) {
  function isWeakSet (line 21096) | function isWeakSet(value) {
  function toArray (line 21175) | function toArray(value) {
  function toFinite (line 21214) | function toFinite(value) {
  function toInteger (line 21252) | function toInteger(value) {
  function toLength (line 21286) | function toLength(value) {
  function toNumber (line 21313) | function toNumber(value) {
  function toPlainObject (line 21358) | function toPlainObject(value) {
  function toSafeInteger (line 21386) | function toSafeInteger(value) {
  function toString (line 21413) | function toString(value) {
  function create (line 21616) | function create(prototype, properties) {
  function findKey (line 21732) | function findKey(object, predicate) {
  function findLastKey (line 21771) | function findLastKey(object, predicate) {
  function forIn (line 21803) | function forIn(object, iteratee) {
  function forInRight (line 21835) | function forInRight(object, iteratee) {
  function forOwn (line 21869) | function forOwn(object, iteratee) {
  function forOwnRight (line 21899) | function forOwnRight(object, iteratee) {
  function functions (line 21926) | function functions(object) {
  function functionsIn (line 21953) | function functionsIn(object) {
  function get (line 21982) | function get(object, path, defaultValue) {
  function has (line 22014) | function has(object, path) {
  function hasIn (line 22044) | function hasIn(object, path) {
  function keys (line 22162) | function keys(object) {
  function keysIn (line 22189) | function keysIn(object) {
  function mapKeys (line 22214) | function mapKeys(object, iteratee) {
  function mapValues (line 22252) | function mapValues(object, iteratee) {
  function omitBy (line 22394) | function omitBy(object, predicate) {
  function pickBy (line 22437) | function pickBy(object, predicate) {
  function result (line 22479) | function result(object, path, defaultValue) {
  function set (line 22529) | function set(object, path, value) {
  function setWith (line 22557) | function setWith(object, path, value, customizer) {
  function transform (line 22644) | function transform(object, iteratee, accumulator) {
  function unset (line 22694) | function unset(object, path) {
  function update (line 22725) | function update(object, path, updater) {
  function updateWith (line 22753) | function updateWith(object, path, updater, customizer) {
  function values (line 22784) | function values(object) {
  function valuesIn (line 22812) | function valuesIn(object) {
  function clamp (line 22837) | function clamp(number, lower, upper) {
  function inRange (line 22891) | function inRange(number, start, end) {
  function random (line 22934) | function random(lower, upper, floating) {
  function capitalize (line 23015) | function capitalize(string) {
  function deburr (line 23037) | function deburr(string) {
  function endsWith (line 23065) | function endsWith(string, target, position) {
  function escape (line 23107) | function escape(string) {
  function escapeRegExp (line 23129) | function escapeRegExp(string) {
  function pad (line 23227) | function pad(string, length, chars) {
  function padEnd (line 23266) | function padEnd(string, length, chars) {
  function padStart (line 23299) | function padStart(string, length, chars) {
  function parseInt (line 23333) | function parseInt(string, radix, guard) {
  function repeat (line 23364) | function repeat(string, n, guard) {
  function replace (line 23392) | function replace() {
  function split (line 23443) | function split(string, separator, limit) {
  function startsWith (line 23512) | function startsWith(string, target, position) {
  function template (line 23626) | function template(string, options, guard) {
  function toLower (line 23764) | function toLower(value) {
  function toUpper (line 23789) | function toUpper(value) {
  function trim (line 23815) | function trim(string, chars, guard) {
  function trimEnd (line 23850) | function trimEnd(string, chars, guard) {
  function trimStart (line 23883) | function trimStart(string, chars, guard) {
  function truncate (line 23934) | function truncate(string, options) {
  function unescape (line 24009) | function unescape(string) {
  function words (line 24078) | function words(string, pattern, guard) {
  function cond (line 24183) | function cond(pairs) {
  function conforms (line 24229) | function conforms(source) {
  function constant (line 24252) | function constant(value) {
  function defaultTo (line 24278) | function defaultTo(value, defaultValue) {
  function identity (line 24345) | function identity(value) {
  function iteratee (line 24391) | function iteratee(func) {
  function matches (line 24430) | function matches(source) {
  function matchesProperty (line 24467) | function matchesProperty(path, srcValue) {
  function mixin (line 24566) | function mixin(object, source, options) {
  function noConflict (line 24615) | function noConflict() {
  function noop (line 24634) | function noop() {
  function nthArg (line 24658) | function nthArg(n) {
  function property (line 24770) | function property(path) {
  function propertyOf (line 24795) | function propertyOf(object) {
  function stubArray (line 24900) | function stubArray() {
  function stubFalse (line 24917) | function stubFalse() {
  function stubObject (line 24939) | function stubObject() {
  function stubString (line 24956) | function stubString() {
  function stubTrue (line 24973) | function stubTrue() {
  function times (line 24996) | function times(n, iteratee) {
  function toPath (line 25031) | function toPath(value) {
  function uniqueId (line 25055) | function uniqueId(prefix) {
  function max (line 25164) | function max(array) {
  function maxBy (line 25193) | function maxBy(array, iteratee) {
  function mean (line 25213) | function mean(array) {
  function meanBy (line 25240) | function meanBy(array, iteratee) {
  function min (line 25262) | function min(array) {
  function minBy (line 25291) | function minBy(array, iteratee) {
  function sum (line 25372) | function sum(array) {
  function sumBy (line 25401) | function sumBy(array, iteratee) {
  function once (line 26025) | function once (fn) {
  function onceStrict (line 26035) | function onceStrict (fn) {
  function httpOverHttp (line 26080) | function httpOverHttp(options) {
  function httpsOverHttp (line 26086) | function httpsOverHttp(options) {
  function httpOverHttps (line 26094) | function httpOverHttps(options) {
  function httpsOverHttps (line 26100) | function httpsOverHttps(options) {
  function TunnelingAgent (line 26109) | function TunnelingAgent(options) {
  function onFree (line 26152) | function onFree() {
  function onCloseOrRemove (line 26156) | function onCloseOrRemove(err) {
  function onResponse (line 26196) | function onResponse(res) {
  function onUpgrade (line 26201) | function onUpgrade(res, socket, head) {
  function onConnect (line 26208) | function onConnect(res, socket, head) {
  function onError (line 26237) | function onError(cause) {
  function createSecureSocket (line 26267) | function createSecureSocket(options, cb) {
  function toOptions (line 26284) | function toOptions(host, port, localAddress) {
  function mergeOptions (line 26295) | function mergeOptions(target) {
  function makeDispatcher (line 26383) | function makeDispatcher (fn) {
  function defaultFactory (line 26530) | function defaultFactory (origin, opts) {
  class Agent (line 26536) | class Agent extends DispatcherBase {
    method constructor (line 26537) | constructor ({ factory = defaultFactory, maxRedirections = 0, connect,...
    method [kRunning] (line 26593) | get [kRunning] () {
    method [kDispatch] (line 26605) | [kDispatch] (opts, handler) {
    method [kClose] (line 26630) | async [kClose] () {
    method [kDestroy] (line 26643) | async [kDestroy] (err) {
  function abort (line 26671) | function abort (self) {
  function addSignal (line 26679) | function addSignal (self, signal) {
  function removeSignal (line 26700) | function removeSignal (self) {
  class ConnectHandler (line 26734) | class ConnectHandler extends AsyncResource {
    method constructor (line 26735) | constructor (opts, callback) {
    method onConnect (line 26760) | onConnect (abort, context) {
    method onHeaders (line 26769) | onHeaders () {
    method onUpgrade (line 26773) | onUpgrade (statusCode, rawHeaders, socket) {
    method onError (line 26795) | onError (err) {
  function connect (line 26809) | function connect (opts, callback) {
  class PipelineRequest (line 26858) | class PipelineRequest extends Readable {
    method constructor (line 26859) | constructor () {
    method _read (line 26865) | _read () {
    method _destroy (line 26874) | _destroy (err, callback) {
  class PipelineResponse (line 26881) | class PipelineResponse extends Readable {
    method constructor (line 26882) | constructor (resume) {
    method _read (line 26887) | _read () {
    method _destroy (line 26891) | _destroy (err, callback) {
  class PipelineHandler (line 26900) | class PipelineHandler extends AsyncResource {
    method constructor (line 26901) | constructor (opts, handler) {
    method onConnect (line 26985) | onConnect (abort, context) {
    method onHeaders (line 26998) | onHeaders (statusCode, rawHeaders, resume) {
    method onData (line 27060) | onData (chunk) {
    method onComplete (line 27065) | onComplete (trailers) {
    method onError (line 27070) | onError (err) {
  function pipeline (line 27077) | function pipeline (opts, handler) {
  class RequestHandler (line 27108) | class RequestHandler extends AsyncResource {
    method constructor (line 27109) | constructor (opts, callback) {
    method onConnect (line 27166) | onConnect (abort, context) {
    method onHeaders (line 27175) | onHeaders (statusCode, rawHeaders, resume, statusMessage) {
    method onData (line 27211) | onData (chunk) {
    method onComplete (line 27216) | onComplete (trailers) {
    method onError (line 27226) | onError (err) {
  function request (line 27254) | function request (opts, callback) {
  class StreamHandler (line 27297) | class StreamHandler extends AsyncResource {
    method constructor (line 27298) | constructor (opts, factory, callback) {
    method onConnect (line 27355) | onConnect (abort, context) {
    method onHeaders (line 27364) | onHeaders (statusCode, rawHeaders, resume, statusMessage) {
    method onData (line 27439) | onData (chunk) {
    method onComplete (line 27445) | onComplete (trailers) {
    method onError (line 27459) | onError (err) {
  function stream (line 27483) | function stream (opts, factory, callback) {
  class UpgradeHandler (line 27520) | class UpgradeHandler extends AsyncResource {
    method constructor (line 27521) | constructor (opts, callback) {
    method onConnect (line 27547) | onConnect (abort, context) {
    method onHeaders (line 27556) | onHeaders () {
    method onUpgrade (line 27560) | onUpgrade (statusCode, rawHeaders, socket) {
    method onError (line 27577) | onError (err) {
  function upgrade (line 27591) | function upgrade (opts, callback) {
  method constructor (line 27661) | constructor ({
  method destroy (line 27687) | destroy (err) {
  method emit (line 27704) | emit (ev, ...args) {
  method on (line 27715) | on (ev, ...args) {
  method addListener (line 27722) | addListener (ev, ...args) {
  method off (line 27726) | off (ev, ...args) {
  method removeListener (line 27737) | removeListener (ev, ...args) {
  method push (line 27741) | push (chunk) {
  method text (line 27750) | async text () {
  method json (line 27755) | async json () {
  method blob (line 27760) | async blob () {
  method arrayBuffer (line 27765) | async arrayBuffer () {
  method formData (line 27770) | async formData () {
  method bodyUsed (line 27776) | get bodyUsed () {
  method body (line 27781) | get body () {
  method dump (line 27793) | dump (opts) {
  function isLocked (line 27841) | function isLocked (self) {
  function isUnusable (line 27847) | function isUnusable (self) {
  function consume (line 27851) | async function consume (stream, type) {
  function consumeStart (line 27882) | function consumeStart (consume) {
  function consumeEnd (line 27908) | function consumeEnd (consume) {
  function consumePush (line 27939) | function consumePush (consume, chunk) {
  function consumeFinish (line 27944) | function consumeFinish (consume, err) {
  function getResolveErrorBodyCallback (line 27975) | async function getResolveErrorBodyCallback ({ callback, body, contentTyp...
  function getGreatestCommonDivisor (line 28050) | function getGreatestCommonDivisor (a, b) {
  function defaultFactory (line 28055) | function defaultFactory (origin, opts) {
  class BalancedPool (line 28059) | class BalancedPool extends PoolBase {
    method constructor (line 28060) | constructor (upstreams = [], { factory = defaultFactory, ...opts } = {...
    method addUpstream (line 28089) | addUpstream (upstream) {
    method _updateBalancedPoolStats (line 28129) | _updateBalancedPoolStats () {
    method removeUpstream (line 28133) | removeUpstream (upstream) {
    method upstreams (line 28149) | get upstreams () {
    method [kGetDispatcher] (line 28155) | [kGetDispatcher] () {
  class Cache (line 28250) | class Cache {
    method constructor (line 28257) | constructor () {
    method match (line 28265) | async match (request, options = {}) {
    method matchAll (line 28281) | async matchAll (request = undefined, options = {}) {
    method add (line 28349) | async add (request) {
    method addAll (line 28365) | async addAll (requests) {
    method put (line 28526) | async put (request, response) {
    method delete (line 28655) | async delete (request, options = {}) {
    method keys (line 28719) | async keys (request = undefined, options = {}) {
    method #batchCacheOperations (line 28798) | #batchCacheOperations (operations) {
    method #queryCache (line 28936) | #queryCache (requestQuery, options, targetStorage) {
    method #requestMatchesCachedItem (line 28960) | #requestMatchesCachedItem (requestQuery, request, response = null, opt...
  class CacheStorage (line 29074) | class CacheStorage {
    method constructor (line 29081) | constructor () {
    method match (line 29087) | async match (request, options = {}) {
    method has (line 29124) | async has (cacheName) {
    method open (line 29140) | async open (cacheName) {
    method delete (line 29172) | async delete (cacheName) {
    method keys (line 29185) | async keys () {
  function urlEquals (line 29245) | function urlEquals (A, B, excludeFragment = false) {
  function fieldValues (line 29257) | function fieldValues (header) {
  class Client (line 29417) | class Client extends DispatcherBase {
    method constructor (line 29423) | constructor (url, {
    method pipelining (line 29606) | get pipelining () {
    method pipelining (line 29610) | set pipelining (value) {
    method [kPending] (line 29615) | get [kPending] () {
    method [kRunning] (line 29619) | get [kRunning] () {
    method [kSize] (line 29623) | get [kSize] () {
    method [kConnected] (line 29627) | get [kConnected] () {
    method [kBusy] (line 29631) | get [kBusy] () {
    method [kConnect] (line 29641) | [kConnect] (cb) {
    method [kDispatch] (line 29646) | [kDispatch] (opts, handler) {
    method [kClose] (line 29671) | async [kClose] () {
    method [kDestroy] (line 29683) | async [kDestroy] (err) {
  function onHttp2SessionError (line 29717) | function onHttp2SessionError (err) {
  function onHttp2FrameError (line 29725) | function onHttp2FrameError (type, code, id) {
  function onHttp2SessionEnd (line 29734) | function onHttp2SessionEnd () {
  function onHTTP2GoAway (line 29739) | function onHTTP2GoAway (code) {
  function lazyllhttp (line 29779) | async function lazyllhttp () {
  class Parser (line 29854) | class Parser {
    method constructor (line 29855) | constructor (client, socket, { exports }) {
    method setTimeout (line 29883) | setTimeout (value, type) {
    method resume (line 29905) | resume () {
    method readMore (line 29928) | readMore () {
    method execute (line 29938) | execute (data) {
    method destroy (line 30000) | destroy () {
    method onStatus (line 30015) | onStatus (buf) {
    method onMessageBegin (line 30019) | onMessageBegin () {
    method onHeaderField (line 30033) | onHeaderField (buf) {
    method onHeaderValue (line 30045) | onHeaderValue (buf) {
    method trackHeader (line 30067) | trackHeader (len) {
    method onUpgrade (line 30074) | onUpgrade (head) {
    method onHeadersComplete (line 30121) | onHeadersComplete (statusCode, upgrade, shouldKeepAlive) {
    method onBody (line 30230) | onBody (buf) {
    method onMessageComplete (line 30262) | onMessageComplete () {
  function onParserTimeout (line 30329) | function onParserTimeout (parser) {
  function onSocketReadable (line 30348) | function onSocketReadable () {
  function onSocketError (line 30355) | function onSocketError (err) {
  function onError (line 30375) | function onError (client, err) {
  function onSocketEnd (line 30395) | function onSocketEnd () {
  function onSocketClose (line 30409) | function onSocketClose () {
  function connect (line 30452) | async function connect (client) {
  function emitDrain (line 30617) | function emitDrain (client) {
  function resume (line 30622) | function resume (client, sync) {
  function _resume (line 30639) | function _resume (client, sync) {
  function shouldSendContentLength (line 30764) | function shouldSendContentLength (method) {
  function write (line 30768) | function write (client, request) {
  function writeH2 (line 30933) | function writeH2 (client, session, request) {
  function writeStream (line 31197) | function writeStream ({ h2stream, body, client, request, socket, content...
  function writeBlob (line 31312) | async function writeBlob ({ h2stream, body, client, request, socket, con...
  function writeIterable (line 31347) | async function writeIterable ({ h2stream, body, client, request, socket,...
  class AsyncWriter (line 31427) | class AsyncWriter {
    method constructor (line 31428) | constructor ({ socket, request, contentLength, client, expectsPayload,...
    method write (line 31440) | write (chunk) {
    method end (line 31503) | end () {
    method destroy (line 31550) | destroy (err) {
  function errorRequest (line 31562) | function errorRequest (client, request, err) {
  class CompatWeakRef (line 31586) | class CompatWeakRef {
    method constructor (line 31587) | constructor (value) {
    method deref (line 31591) | deref () {
  class CompatFinalizer (line 31598) | class CompatFinalizer {
    method constructor (line 31599) | constructor (finalizer) {
    method register (line 31603) | register (dispatcher, key) {
  function getCookies (line 31681) | function getCookies (headers) {
  function deleteCookie (line 31708) | function deleteCookie (headers, name, attributes) {
  function getSetCookies (line 31730) | function getSetCookies (headers) {
  function setCookie (line 31749) | function setCookie (headers, cookie) {
  function parseSetCookie (line 31860) | function parseSetCookie (header) {
  function parseUnparsedAttributes (line 31936) | function parseUnparsedAttributes (unparsedAttributes, cookieAttributeLis...
  function isCTLExcludingHtab (line 32178) | function isCTLExcludingHtab (value) {
  function validateCookieName (line 32205) | function validateCookieName (name) {
  function validateCookieValue (line 32242) | function validateCookieValue (value) {
  function validateCookiePath (line 32263) | function validateCookiePath (path) {
  function validateCookieDomain (line 32278) | function validateCookieDomain (domain) {
  function toIMFDate (line 32329) | function toIMFDate (date) {
  function validateCookieMaxAge (line 32362) | function validateCookieMaxAge (maxAge) {
  function stringify (line 32372) | function stringify (cookie) {
  method constructor (line 32473) | constructor (maxCachedSessions) {
  method get (line 32488) | get (sessionKey) {
  method set (line 32493) | set (sessionKey, session) {
  method constructor (line 32504) | constructor (maxCachedSessions) {
  method get (line 32509) | get (sessionKey) {
  method set (line 32513) | set (sessionKey, session) {
  function buildConnector (line 32529) | function buildConnector ({ allowH2, maxCachedSessions, socketPath, timeo...
  function setupTimeout (line 32613) | function setupTimeout (onConnectTimeout, timeout) {
  function onConnectTimeout (line 32638) | function onConnectTimeout (socket) {
  class UndiciError (line 32779) | class UndiciError extends Error {
    method constructor (line 32780) | constructor (message) {
  class ConnectTimeoutError (line 32787) | class ConnectTimeoutError extends UndiciError {
    method constructor (line 32788) | constructor (message) {
  class HeadersTimeoutError (line 32797) | class HeadersTimeoutError extends UndiciError {
    method constructor (line 32798) | constructor (message) {
  class HeadersOverflowError (line 32807) | class HeadersOverflowError extends UndiciError {
    method constructor (line 32808) | constructor (message) {
  class BodyTimeoutError (line 32817) | class BodyTimeoutError extends UndiciError {
    method constructor (line 32818) | constructor (message) {
  class ResponseStatusCodeError (line 32827) | class ResponseStatusCodeError extends UndiciError {
    method constructor (line 32828) | constructor (message, statusCode, headers, body) {
  class InvalidArgumentError (line 32841) | class InvalidArgumentError extends UndiciError {
    method constructor (line 32842) | constructor (message) {
  class InvalidReturnValueError (line 32851) | class InvalidReturnValueError extends UndiciError {
    method constructor (line 32852) | constructor (message) {
  class RequestAbortedError (line 32861) | class RequestAbortedError extends UndiciError {
    method constructor (line 32862) | constructor (message) {
  class InformationalError (line 32871) | class InformationalError extends UndiciError {
    method constructor (line 32872) | constructor (message) {
  class RequestContentLengthMismatchError (line 32881) | class RequestContentLengthMismatchError extends UndiciError {
    method constructor (line 32882) | constructor (message) {
  class ResponseContentLengthMismatchError (line 32891) | class ResponseContentLengthMismatchError extends UndiciError {
    method constructor (line 32892) | constructor (message) {
  class ClientDestroyedError (line 32901) | class ClientDestroyedError extends UndiciError {
    method constructor (line 32902) | constructor (message) {
  class ClientClosedError (line 32911) | class ClientClosedError extends UndiciError {
    method constructor (line 32912) | constructor (message) {
  class SocketError (line 32921) | class SocketError extends UndiciError {
    method constructor (line 32922) | constructor (message, socket) {
  class NotSupportedError (line 32932) | class NotSupportedError extends UndiciError {
    method constructor (line 32933) | constructor (message) {
  class BalancedPoolMissingUpstreamError (line 32942) | class BalancedPoolMissingUpstreamError extends UndiciError {
    method constructor (line 32943) | constructor (message) {
  class HTTPParserError (line 32952) | class HTTPParserError extends Error {
    method constructor (line 32953) | constructor (message, code, data) {
  class ResponseExceededMaxSizeError (line 32962) | class ResponseExceededMaxSizeError extends UndiciError {
    method constructor (line 32963) | constructor (message) {
  class RequestRetryError (line 32972) | class RequestRetryError extends UndiciError {
    method constructor (line 32973) | constructor (message, code, { headers, data }) {
  class Request (line 33067) | class Request {
    method constructor (line 33068) | constructor (origin, {
    method onBodySent (line 33244) | onBodySent (chunk) {
    method onRequestSent (line 33254) | onRequestSent () {
    method onConnect (line 33268) | onConnect (abort) {
    method onHeaders (line 33280) | onHeaders (statusCode, headers, resume, statusText) {
    method onData (line 33295) | onData (chunk) {
    method onUpgrade (line 33307) | onUpgrade (statusCode, headers, socket) {
    method onComplete (line 33314) | onComplete (trailers) {
    method onError (line 33332) | onError (error) {
    method onFinally (line 33347) | onFinally () {
    method addHeader (line 33360) | addHeader (key, value) {
    method [kHTTP1BuildRequest] (line 33365) | static [kHTTP1BuildRequest] (origin, opts, handler) {
    method [kHTTP2BuildRequest] (line 33371) | static [kHTTP2BuildRequest] (origin, opts, handler) {
    method [kHTTP2CopyHeaders] (line 33399) | static [kHTTP2CopyHeaders] (raw) {
    method constructor (line 39238) | constructor (input, init = {}) {
    method method (line 39730) | get method () {
    method url (line 39738) | get url () {
    method headers (line 39748) | get headers () {
    method destination (line 39757) | get destination () {
    method referrer (line 39769) | get referrer () {
    method referrerPolicy (line 39791) | get referrerPolicy () {
    method mode (line 39801) | get mode () {
    method credentials (line 39811) | get credentials () {
    method cache (line 39819) | get cache () {
    method redirect (line 39830) | get redirect () {
    method integrity (line 39840) | get integrity () {
    method keepalive (line 39850) | get keepalive () {
    method isReloadNavigation (line 39859) | get isReloadNavigation () {
    method isHistoryNavigation (line 39869) | get isHistoryNavigation () {
    method signal (line 39880) | get signal () {
    method body (line 39887) | get body () {
    method bodyUsed (line 39893) | get bodyUsed () {
    method duplex (line 39899) | get duplex () {
    method clone (line 39906) | clone () {
  function processHeaderValue (line 33416) | function processHeaderValue (key, val, skipAppend) {
  function processHeader (line 33430) | function processHeader (request, key, val, skipAppend = false) {
  function nop (line 33607) | function nop () {}
  function isStream (line 33609) | function isStream (obj) {
  function isBlobLike (line 33614) | function isBlobLike (object) {
  function buildURL (line 33624) | function buildURL (url, queryParams) {
  function parseURL (line 33638) | function parseURL (url) {
  function parseOrigin (line 33705) | function parseOrigin (url) {
  function getHostname (line 33715) | function getHostname (host) {
  function getServerName (line 33731) | function getServerName (host) {
  function deepClone (line 33746) | function deepClone (obj) {
  function isAsyncIterable (line 33750) | function isAsyncIterable (obj) {
  function isIterable (line 33754) | function isIterable (obj) {
  function bodyLength (line 33758) | function bodyLength (body) {
  function isDestroyed (line 33775) | function isDestroyed (stream) {
  function isReadableAborted (line 33779) | function isReadableAborted (stream) {
  function destroy (line 33784) | function destroy (stream, err) {
  function parseKeepAliveTimeout (line 33808) | function parseKeepAliveTimeout (val) {
  function headerNameToString (line 33818) | function headerNameToString (value) {
  function parseHeaders (line 33822) | function parseHeaders (headers, obj = {}) {
  function parseRawHeaders (line 33853) | function parseRawHeaders (headers) {
  function isBuffer (line 33880) | function isBuffer (buffer) {
  function validateHandler (line 33885) | function validateHandler (handler, method, upgrade) {
  function isDisturbed (line 33923) | function isDisturbed (body) {
  function isErrored (line 33934) | function isErrored (body) {
  function isReadable (line 33942) | function isReadable (body) {
  function getSocketInfo (line 33950) | function getSocketInfo (socket) {
  function ReadableStreamFrom (line 33970) | function ReadableStreamFrom (iterable) {
  function isFormDataLike (line 34007) | function isFormDataLike (object) {
  function throwIfAborted (line 34021) | function throwIfAborted (signal) {
  function addAbortListener (line 34035) | function addAbortListener (signal, listener) {
  function toUSVString (line 34049) | function toUSVString (val) {
  function parseRangeHeader (line 34061) | function parseRangeHeader (range) {
  class DispatcherBase (line 34138) | class DispatcherBase extends Dispatcher {
    method constructor (line 34139) | constructor () {
    method destroyed (line 34148) | get destroyed () {
    method closed (line 34152) | get closed () {
    method interceptors (line 34156) | get interceptors () {
    method interceptors (line 34160) | set interceptors (newInterceptors) {
    method close (line 34173) | close (callback) {
    method destroy (line 34219) | destroy (err, callback) {
    method [kInterceptedDispatch] (line 34268) | [kInterceptedDispatch] (opts, handler) {
    method dispatch (line 34282) | dispatch (opts, handler) {
  class Dispatcher (line 34326) | class Dispatcher extends EventEmitter {
    method dispatch (line 34327) | dispatch () {
    method close (line 34331) | close () {
    method destroy (line 34335) | destroy () {
  function extractBody (line 34389) | function extractBody (object, keepalive = false) {
  function safelyExtractBody (line 34609) | function safelyExtractBody (object, keepalive = false) {
  function cloneBody (line 34631) | function cloneBody (body) {
  function throwIfAborted (line 34677) | function throwIfAborted (state) {
  function bodyMixinMethods (line 34683) | function bodyMixinMethods (instance) {
  function mixinBody (line 34845) | function mixinBody (prototype) {
  function specConsumeBody (line 34855) | async function specConsumeBody (object, convertBytesToJSValue, instance) {
  function bodyUnusable (line 34900) | function bodyUnusable (body) {
  function utf8DecodeBytes (line 34911) | function utf8DecodeBytes (buffer) {
  function parseJSONFromBytes (line 34937) | function parseJSONFromBytes (bytes) {
  function bodyMimeType (line 34945) | function bodyMimeType (object) {
  function dataURLProcessor (line 35146) | function dataURLProcessor (dataURL) {
  function URLSerializer (line 35248) | function URLSerializer (url, excludeFragment = false) {
  function collectASequenceOfCodePoints (line 35265) | function collectASequenceOfCodePoints (condition, input, position) {
  function collectASequenceOfCodePointsFast (line 35289) | function collectASequenceOfCodePointsFast (char, input, position) {
  function stringPercentDecode (line 35304) | function stringPercentDecode (input) {
  function percentDecode (line 35314) | function percentDecode (input) {
  function parseMIMEType (line 35359) | function parseMIMEType (input) {
  function forgivingBase64 (line 35532) | function forgivingBase64 (data) {
  function collectAnHTTPQuotedString (line 35576) | function collectAnHTTPQuotedString (input, position, extractValue) {
  function serializeAMimeType (line 35651) | function serializeAMimeType (mimeType) {
  function isHTTPWhiteSpace (line 35696) | function isHTTPWhiteSpace (char) {
  function removeHTTPWhitespace (line 35704) | function removeHTTPWhitespace (str, leading = true, trailing = true) {
  function isASCIIWhitespace (line 35723) | function isASCIIWhitespace (char) {
  function removeASCIIWhitespace (line 35730) | function removeASCIIWhitespace (str, leading = true, trailing = true) {
  class File (line 35774) | class File extends Blob {
    method constructor (line 35775) | constructor (fileBits, fileName, options = {}) {
    method name (line 35839) | get name () {
    method lastModified (line 35845) | get lastModified () {
    method type (line 35851) | get type () {
  class FileLike (line 35858) | class FileLike {
    method constructor (line 35859) | constructor (blobLike, fileName, options = {}) {
    method stream (line 35906) | stream (...args) {
    method arrayBuffer (line 35912) | arrayBuffer (...args) {
    method slice (line 35918) | slice (...args) {
    method text (line 35924) | text (...args) {
    method size (line 35930) | get size () {
    method type (line 35936) | get type () {
    method name (line 35942) | get name () {
    method lastModified (line 35948) | get lastModified () {
  method [Symbol.toStringTag] (line 35954) | get [Symbol.toStringTag] () {
  method defaultValue (line 35996) | get defaultValue () {
  function processBlobParts (line 36026) | function processBlobParts (parts, options) {
  function convertLineEndingsNative (line 36076) | function convertLineEndingsNative (s) {
  function isFileLike (line 36094) | function isFileLike (object) {
  class FormData (line 36127) | class FormData {
    method constructor (line 36128) | constructor (form) {
    method append (line 36140) | append (name, value, filename = undefined) {
    method delete (line 36169) | delete (name) {
    method get (line 36181) | get (name) {
    method getAll (line 36200) | getAll (name) {
    method has (line 36216) | has (name) {
    method set (line 36228) | set (name, value, filename = undefined) {
    method entries (line 36271) | entries () {
    method keys (line 36281) | keys () {
    method values (line 36291) | values () {
    method forEach (line 36305) | forEach (callbackFn, thisArg = globalThis) {
  function makeEntry (line 36338) | function makeEntry (name, value, filename) {
  function getGlobalOrigin (line 36394) | function getGlobalOrigin () {
  function setGlobalOrigin (line 36398) | function setGlobalOrigin (newOrigin) {
  function isHTTPWhiteSpaceCharCode (line 36458) | function isHTTPWhiteSpaceCharCode (code) {
  function headerValueNormalize (line 36466) | function headerValueNormalize (potentialValue) {
  function fill (line 36478) | function fill (headers, object) {
  function appendHeader (line 36518) | function appendHeader (headers, name, value) {
  class HeadersList (line 36559) | class HeadersList {
    method constructor (line 36563) | constructor (init) {
    method contains (line 36575) | contains (name) {
    method clear (line 36584) | clear () {
    method append (line 36591) | append (name, value) {
    method set (line 36617) | set (name, value) {
    method delete (line 36633) | delete (name) {
    method get (line 36646) | get (name) {
    method entries (line 36663) | get entries () {
  method [Symbol.iterator] (line 36656) | * [Symbol.iterator] () {
  class Headers (line 36677) | class Headers {
    method constructor (line 36678) | constructor (init = undefined) {
    method append (line 36697) | append (name, value) {
    method delete (line 36709) | delete (name) {
    method get (line 36754) | get (name) {
    method has (line 36776) | has (name) {
    method set (line 36798) | set (name, value) {
    method getSetCookie (line 36847) | getSetCookie () {
    method [kHeadersSortedMap] (line 36864) | get [kHeadersSortedMap] () {
    method keys (line 36910) | keys () {
    method values (line 36926) | values () {
    method entries (line 36942) | entries () {
    method forEach (line 36962) | forEach (callbackFn, thisArg = globalThis) {
  method [Symbol.for('nodejs.util.inspect.custom')] (line 36978) | [Symbol.for('nodejs.util.inspect.custom')] () {
  class Fetch (line 37107) | class Fetch extends EE {
    method constructor (line 37108) | constructor (dispatcher) {
    method terminate (line 37123) | terminate (reason) {
    method abort (line 37134) | abort (error) {
  function fetch (line 37161) | function fetch (input, init = {}) {
  function finalizeAndReportTiming (line 37294) | function finalizeAndReportTiming (response, initiatorType = 'other') {
  function markResourceTiming (line 37357) | function markResourceTiming (timingInfo, originalURL, initiatorType, glo...
  function abortFetch (line 37364) | function abortFetch (p, request, responseObject, error) {
  function fetching (line 37409) | function fetching ({
  function mainFetch (line 37564) | async function mainFetch (fetchParams, recursive = false) {
  function schemeFetch (line 37816) | function schemeFetch (fetchParams) {
  function finalizeResponse (line 37933) | function finalizeResponse (fetchParams, response) {
  function fetchFinale (line 37946) | function fetchFinale (fetchParams, response) {
  function httpFetch (line 38037) | async function httpFetch (fetchParams) {
  function httpRedirectFetch (line 38140) | function httpRedirectFetch (fetchParams, response) {
  function httpNetworkOrCacheFetch (line 38284) | async function httpNetworkOrCacheFetch (
  function httpNetworkFetch (line 38614) | async function httpNetworkFetch (
  class Request (line 39236) | class Request {
    method constructor (line 33068) | constructor (origin, {
    method onBodySent (line 33244) | onBodySent (chunk) {
    method onRequestSent (line 33254) | onRequestSent () {
    method onConnect (line 33268) | onConnect (abort) {
    method onHeaders (line 33280) | onHeaders (statusCode, headers, resume, statusText) {
    method onData (line 33295) | onData (chunk) {
    method onUpgrade (line 33307) | onUpgrade (statusCode, headers, socket) {
    method onComplete (line 33314) | onComplete (trailers) {
    method onError (line 33332) | onError (error) {
    method onFinally (line 33347) | onFinally () {
    method addHeader (line 33360) | addHeader (key, value) {
    method [kHTTP1BuildRequest] (line 33365) | static [kHTTP1BuildRequest] (origin, opts, handler) {
    method [kHTTP2BuildRequest] (line 33371) | static [kHTTP2BuildRequest] (origin, opts, handler) {
    method [kHTTP2CopyHeaders] (line 33399) | static [kHTTP2CopyHeaders] (raw) {
    method constructor (line 39238) | constructor (input, init = {}) {
    method method (line 39730) | get method () {
    method url (line 39738) | get url () {
    method headers (line 39748) | get headers () {
    method destination (line 39757) | get destination () {
    method referrer (line 39769) | get referrer () {
    method referrerPolicy (line 39791) | get referrerPolicy () {
    method mode (line 39801) | get mode () {
    method credentials (line 39811) | get credentials () {
    method cache (line 39819) | get cache () {
    method redirect (line 39830) | get redirect () {
    method integrity (line 39840) | get integrity () {
    method keepalive (line 39850) | get keepalive () {
    method isReloadNavigation (line 39859) | get isReloadNavigation () {
    method isHistoryNavigation (line 39869) | get isHistoryNavigation () {
    method signal (line 39880) | get signal () {
    method body (line 39887) | get body () {
    method bodyUsed (line 39893) | get bodyUsed () {
    method duplex (line 39899) | get duplex () {
    method clone (line 39906) | clone () {
  function makeRequest (line 39948) | function makeRequest (init) {
  function cloneRequest (line 39996) | function cloneRequest (request) {
  class Response (line 40180) | class Response {
    method error (line 40182) | static error () {
    method json (line 40199) | static json (data, init = {}) {
    method redirect (line 40230) | static redirect (url, status = 302) {
    method constructor (line 40277) | constructor (body = null, init = {}) {
    method type (line 40312) | get type () {
    method url (line 40320) | get url () {
    method redirected (line 40338) | get redirected () {
    method status (line 40347) | get status () {
    method ok (line 40355) | get ok () {
    method statusText (line 40364) | get statusText () {
    method headers (line 40373) | get headers () {
    method body (line 40380) | get body () {
    method bodyUsed (line 40386) | get bodyUsed () {
    method clone (line 40393) | clone () {
  function cloneResponse (line 40446) | function cloneResponse (response) {
  function makeResponse (line 40472) | function makeResponse (init) {
  function makeNetworkError (line 40491) | function makeNetworkError (reason) {
  function makeFilteredResponse (line 40503) | function makeFilteredResponse (response, state) {
  function filterResponse (line 40522) | function filterResponse (response, type) {
  function makeAppropriateNetworkError (line 40576) | function makeAppropriateNetworkError (fetchParams, err = null) {
  function initializeResponse (line 40588) | function initializeResponse (response, init, body) {
  function responseURL (line 40767) | function responseURL (response) {
  function responseLocationURL (line 40777) | function responseLocationURL (response, requestFragment) {
  function requestCurrentURL (line 40804) | function requestCurrentURL (request) {
  function requestBadPort (line 40808) | function requestBadPort (request) {
  function isErrorLike (line 40822) | function isErrorLike (object) {
  function isValidReasonPhrase (line 40835) | function isValidReasonPhrase (statusText) {
  function isTokenCharCode (line 40857) | function isTokenCharCode (c) {
  function isValidHTTPToken (line 40887) | function isValidHTTPToken (characters) {
  function isValidHeaderName (line 40903) | function isValidHeaderName (potentialValue) {
  function isValidHeaderValue (line 40911) | function isValidHeaderValue (potentialValue) {
  function setRequestReferrerPolicyOnRedirect (line 40935) | function setRequestReferrerPolicyOnRedirect (request, actualResponse) {
  function crossOriginResourcePolicyCheck (line 40975) | function crossOriginResourcePolicyCheck () {
  function corsCheck (line 40981) | function corsCheck () {
  function TAOCheck (line 40987) | function TAOCheck () {
  function appendFetchMetadata (line 40992) | function appendFetchMetadata (httpRequest) {
  function appendRequestOriginHeader (line 41018) | function appendRequestOriginHeader (request) {
  function coarsenedSharedCurrentTime (line 41061) | function coarsenedSharedCurrentTime (crossOriginIsolatedCapability) {
  function createOpaqueTimingInfo (line 41067) | function createOpaqueTimingInfo (timingInfo) {
  function makePolicyContainer (line 41084) | function makePolicyContainer () {
  function clonePolicyContainer (line 41092) | function clonePolicyContainer (policyContainer) {
  function determineRequestsReferrer (line 41099) | function determineRequestsReferrer (request) {
  function stripURLForReferrer (line 41198) | function stripURLForReferrer (url, originOnly) {
  function isURLPotentiallyTrustworthy (line 41229) | function isURLPotentiallyTrustworthy (url) {
  function bytesMatch (line 41275) | function bytesMatch (bytes, metadataList) {
  function parseMetadata (line 41347) | function parseMetadata (metadata) {
  function getStrongestMetadata (line 41397) | function getStrongestMetadata (metadataList) {
  function filterMetadataListByAlgorithm (line 41426) | function filterMetadataListByAlgorithm (metadataList, algorithm) {
  function compareBase64Mixed (line 41451) | function compareBase64Mixed (actualValue, expectedValue) {
  function tryUpgradeRequestToAPotentiallyTrustworthyURL (line 41471) | function tryUpgradeRequestToAPotentiallyTrustworthyURL (request) {
  function sameOrigin (line 41480) | function sameOrigin (A, B) {
  function createDeferredPromise (line 41496) | function createDeferredPromise () {
  function isAborted (line 41507) | function isAborted (fetchParams) {
  function isCancelled (line 41511) | function isCancelled (fetchParams) {
  function normalizeMethod (line 41538) | function normalizeMethod (method) {
  function serializeJavascriptValueToJSONString (line 41543) | function serializeJavascriptValueToJSONString (value) {
  function makeIterator (line 41568) | function makeIterator (iterator, name, kind) {
  function iteratorResult (line 41631) | function iteratorResult (pair, kind) {
  function fullyReadBody (line 41675) | async function fullyReadBody (body, processBody, processBodyError) {
  function isReadableStreamLike (line 41711) | function isReadableStreamLike (stream) {
  function isomorphicDecode (line 41728) | function isomorphicDecode (input) {
  function readableStreamClose (line 41743) | function readableStreamClose (controller) {
  function isomorphicEncode (line 41758) | function isomorphicEncode (input) {
  function readAllBytes (line 41775) | async function readAllBytes (reader) {
  function urlIsLocal (line 41805) | function urlIsLocal (url) {
  function urlHasHttpsScheme (line 41816) | function urlHasHttpsScheme (url) {
  function urlIsHttpHttpsScheme (line 41828) | function urlIsHttpHttpsScheme (url) {
  function getEncoding (line 42556) | function getEncoding (label) {
  class FileReader (line 42865) | class FileReader extends EventTarget {
    method constructor (line 42866) | constructor () {
    method readAsArrayBuffer (line 42886) | readAsArrayBuffer (blob) {
    method readAsBinaryString (line 42902) | readAsBinaryString (blob) {
    method readAsText (line 42919) | readAsText (blob, encoding = undefined) {
    method readAsDataURL (line 42939) | readAsDataURL (blob) {
    method abort (line 42954) | abort () {
    method readyState (line 42991) | get readyState () {
    method result (line 43004) | get result () {
    method error (line 43015) | get error () {
    method onloadend (line 43023) | get onloadend () {
    method onloadend (line 43029) | set onloadend (fn) {
    method onerror (line 43044) | get onerror () {
    method onerror (line 43050) | set onerror (fn) {
    method onloadstart (line 43065) | get onloadstart () {
    method onloadstart (line 43071) | set onloadstart (fn) {
    method onprogress (line 43086) | get onprogress () {
    method onprogress (line 43092) | set onprogress (fn) {
    method onload (line 43107) | get onload () {
    method onload (line 43113) | set onload (fn) {
    method onabort (line 43128) | get onabort () {
    method onabort (line 43134) | set onabort (fn) {
  class ProgressEvent (line 43209) | class ProgressEvent extends Event {
    method constructor (line 43210) | constructor (type, eventInitDict = {}) {
    method lengthComputable (line 43223) | get lengthComputable () {
    method loaded (line 43229) | get loaded () {
    method total (line 43235) | get total () {
  function readOperation (line 43335) | function readOperation (fr, blob, type, encodingName) {
  function fireAProgressEvent (line 43501) | function fireAProgressEvent (e, reader) {
  function packageData (line 43519) | function packageData (bytes, type, mimeType, encodingName) {
  function decode (line 43621) | function decode (ioQueue, encoding) {
  function BOMSniffing (line 43653) | function BOMSniffing (ioQueue) {
  function combineByteSequences (line 43677) | function combineByteSequences (sequences) {
  function setGlobalDispatcher (line 43716) | function setGlobalDispatcher (agent) {
  function getGlobalDispatcher (line 43728) | function getGlobalDispatcher () {
  method constructor (line 43747) | constructor (handler) {
  method onConnect (line 43751) | onConnect (...args) {
  method onError (line 43755) | onError (...args) {
  method onUpgrade (line 43759) | onUpgrade (...args) {
  method onHeaders (line 43763) | onHeaders (...args) {
  method onData (line 43767) | onData (...args) {
  method onComplete (line 43771) | onComplete (...args) {
  method onBodySent (line 43775) | onBodySent (...args) {
  class BodyAsyncIterable (line 43799) | class BodyAsyncIterable {
    method constructor (line 43800) | constructor (body) {
  method [Symbol.asyncIterator] (line 43805) | async * [Symbol.asyncIterator] () {
  class RedirectHandler (line 43812) | class RedirectHandler {
    method constructor (line 43813) | constructor (dispatch, maxRedirections, opts, handler) {
    method onConnect (line 43862) | onConnect (abort) {
    method onUpgrade (line 43867) | onUpgrade (statusCode, headers, socket) {
    method onError (line 43871) | onError (error) {
    method onHeaders (line 43875) | onHeaders (statusCode, headers, resume, statusText) {
    method onData (line 43908) | onData (chunk) {
    method onComplete (line 43932) | onComplete (trailers) {
    method onBodySent (line 43952) | onBodySent (chunk) {
  function parseLocation (line 43959) | function parseLocation (statusCode, headers) {
  function shouldRemoveHeader (line 43972) | function shouldRemoveHeader (header, removeContent, unknownOrigin) {
  function cleanRequestHeaders (line 43987) | function cleanRequestHeaders (headers, removeContent, unknownOrigin) {
  function calculateRetryAfterHeader (line 44021) | function calculateRetryAfterHeader (retryAfter) {
  class RetryHandler (line 44028) | class RetryHandler {
    method constructor (line 44029) | constructor (opts, handlers) {
    method onRequestSent (line 44091) | onRequestSent () {
    method onUpgrade (line 44097) | onUpgrade (statusCode, headers, socket) {
    method onConnect (line 44103) | onConnect (abort) {
    method onBodySent (line 44111) | onBodySent (chunk) {
    method [kRetryHandlerDefaultRetry] (line 44115) | static [kRetryHandlerDefaultRetry] (err, { state, opts }, cb) {
    method onHeaders (line 44183) | onHeaders (statusCode, rawHeaders, resume, statusMessage) {
    method onData (line 44301) | onData (chunk) {
    method onComplete (line 44307) | onComplete (rawTrailers) {
    method onError (line 44312) | onError (err) {
  function createRedirectInterceptor (line 44363) | function createRedirectInterceptor ({ maxRedirections: defaultMaxRedirec...
  function enumToMap (line 44692) | function enumToMap(obj) {
  class FakeWeakRef (line 44734) | class FakeWeakRef {
    method constructor (line 44735) | constructor (value) {
    method deref (line 44739) | deref () {
  class MockAgent (line 44744) | class MockAgent extends Dispatcher {
    method constructor (line 44745) | constructor (opts) {
    method get (line 44762) | get (origin) {
    method dispatch (line 44772) | dispatch (opts, handler) {
    method close (line 44778) | async close () {
    method deactivate (line 44783) | deactivate () {
    method activate (line 44787) | activate () {
    method enableNetConnect (line 44791) | enableNetConnect (matcher) {
    method disableNetConnect (line 44805) | disableNetConnect () {
    method isMockActive (line 44811) | get isMockActive () {
    method [kMockAgentSet] (line 44815) | [kMockAgentSet] (origin, dispatcher) {
    method [kFactory] (line 44819) | [kFactory] (origin) {
    method [kMockAgentGet] (line 44826) | [kMockAgentGet] (origin) {
    method [kGetNetConnect] (line 44852) | [kGetNetConnect] () {
    method pendingInterceptors (line 44856) | pendingInterceptors () {
    method assertNoPendingInterceptors (line 44864) | assertNoPendingInterceptors ({ pendingInterceptorsFormatter = new Pend...
  class MockClient (line 44911) | class MockClient extends Client {
    method constructor (line 44912) | constructor (origin, opts) {
    method intercept (line 44937) | intercept (opts) {
    method [kClose] (line 44941) | async [kClose] () {
  method [Symbols.kConnected] (line 44930) | get [Symbols.kConnected] () {
  class MockNotMatchedError (line 44961) | class MockNotMatchedError extends UndiciError {
    method constructor (line 44962) | constructor (message) {
  class MockScope (line 44999) | class MockScope {
    method constructor (line 45000) | constructor (mockDispatch) {
    method delay (line 45007) | delay (waitInMs) {
    method persist (line 45019) | persist () {
    method times (line 45027) | times (repeatTimes) {
  class MockInterceptor (line 45040) | class MockInterceptor {
    method constructor (line 45041) | constructor (opts, mockDispatches) {
    method createMockScopeDispatchData (line 45074) | createMockScopeDispatchData (statusCode, data, responseOptions = {}) {
    method validateReplyParameters (line 45083) | validateReplyParameters (statusCode, data, responseOptions) {
    method reply (line 45098) | reply (replyData) {
    method replyWithError (line 45144) | replyWithError (error) {
    method defaultReplyHeaders (line 45156) | defaultReplyHeaders (headers) {
    method defaultReplyTrailers (line 45168) | defaultReplyTrailers (trailers) {
    method replyContentLength (line 45180) | replyContentLength () {
  class MockPool (line 45217) | class MockPool extends Pool {
    method constructor (line 45218) | constructor (origin, opts) {
    method intercept (line 45243) | intercept (opts) {
    method [kClose] (line 45247) | async [kClose] () {
  method [Symbols.kConnected] (line 45236) | get [Symbols.kConnected] () {
  function matchValue (line 45312) | function matchValue (match, value) {
  function lowerCaseEntries (line 45325) | function lowerCaseEntries (headers) {
  function getHeaderByName (line 45337) | function getHeaderByName (headers, key) {
  function buildHeadersFromArray (line 45354) | function buildHeadersFromArray (headers) { // fetch HeadersList
  function matchHeaders (line 45363) | function matchHeaders (mockDispatch, headers) {
  function safeUrl (line 45387) | function safeUrl (path) {
  function matchKey (line 45403) | function matchKey (mockDispatch, { path, method, body, headers }) {
  function getResponseData (line 45411) | function getResponseData (data) {
  function getMockDispatch (line 45421) | function getMockDispatch (mockDispatches, key) {
  function addMockDispatch (line 45452) | function addMockDispatch (mockDispatches, key, data) {
  function deleteMockDispatch (line 45460) | function deleteMockDispatch (mockDispatches, key) {
  function buildKey (line 45472) | function buildKey (opts) {
  function generateKeyValues (line 45483) | function generateKeyValues (data) {
  function getStatusText (line 45495) | function getStatusText (statusCode) {
  function getResponse (line 45499) | async function getResponse (body) {
  function mockDispatch (line 45510) | function mockDispatch (opts, handler) {
  function buildMockDispatch (line 45582) | function buildMockDispatch () {
  function checkNetConnect (line 45612) | function checkNetConnect (netConnect, origin) {
  function buildMockOptions (line 45622) | function buildMockOptions (opts) {
  method constructor (line 45662) | constructor ({ disableColors } = {}) {
  method format (line 45677) | format (pendingInterceptors) {
  method constructor (line 45718) | constructor (singular, plural) {
  method pluralize (line 45723) | pluralize (count) {
  class FixedCircularBuffer (line 45796) | class FixedCircularBuffer {
    method constructor (line 45797) | constructor() {
    method isEmpty (line 45804) | isEmpty() {
    method isFull (line 45808) | isFull() {
    method push (line 45812) | push(data) {
    method shift (line 45817) | shift() {
  method constructor (line 45828) | constructor() {
  method isEmpty (line 45832) | isEmpty() {
  method push (line 45836) | push(data) {
  method shift (line 45845) | shift() {
  class PoolBase (line 45883) | class PoolBase extends DispatcherBase {
    method constructor (line 45884) | constructor () {
    method [kBusy] (line 45936) | get [kBusy] () {
    method [kConnected] (line 45940) | get [kConnected] () {
    method [kFree] (line 45944) | get [kFree] () {
    method [kPending] (line 45948) | get [kPending] () {
    method [kRunning] (line 45956) | get [kRunning] () {
    method [kSize] (line 45964) | get [kSize] () {
    method stats (line 45972) | get stats () {
    method [kClose] (line 45976) | async [kClose] () {
    method [kDestroy] (line 45986) | async [kDestroy] (err) {
    method [kDispatch] (line 45998) | [kDispatch] (opts, handler) {
    method [kAddClient] (line 46013) | [kAddClient] (client) {
    method [kRemoveClient] (line 46033) | [kRemoveClient] (client) {
  class PoolStats (line 46067) | class PoolStats {
    method constructor (line 46068) | constructor (pool) {
    method connected (line 46072) | get connected () {
    method free (line 46076) | get free () {
    method pending (line 46080) | get pending () {
    method queued (line 46084) | get queued () {
    method running (line 46088) | get running () {
    method size (line 46092) | get size () {
  function defaultFactory (line 46127) | function defaultFactory (origin, opts) {
  class Pool (line 46131) | class Pool extends PoolBase {
    method constructor (line 46132) | constructor (origin, {
    method [kGetDispatcher] (line 46197) | [kGetDispatcher] () {
  function defaultProtocolPort (line 46239) | function defaultProtocolPort (protocol) {
  function buildProxyOptions (line 46243) | function buildProxyOptions (opts) {
  function defaultFactory (line 46258) | function defaultFactory (origin, opts) {
  class ProxyAgent (line 46262) | class ProxyAgent extends DispatcherBase {
    method constructor (line 46263) | constructor (opts) {
    method dispatch (line 46346) | dispatch (opts, handler) {
    method [kClose] (line 46362) | async [kClose] () {
    method [kDestroy] (line 46367) | async [kDestroy] () {
  function buildHeaders (line 46377) | function buildHeaders (headers) {
  function throwIfProxyAuthIsSent (line 46402) | function throwIfProxyAuthIsSent (headers) {
  function onTimeout (line 46426) | function onTimeout () {
  function refreshTimeout (line 46459) | function refreshTimeout () {
  class Timeout (line 46471) | class Timeout {
    method constructor (line 46472) | constructor (callback, delay, opaque) {
    method refresh (line 46486) | refresh () {
    method clear (line 46497) | clear () {
  method setTimeout (line 46503) | setTimeout (callback, delay, opaque) {
  method clearTimeout (line 46508) | clearTimeout (timeout) {
  function establishWebSocketConnection (line 46563) | function establishWebSocketConnection (url, protocols, ws, onEstablish, ...
  function onSocketData (line 46735) | function onSocketData (chunk) {
  function onSocketClose (line 46745) | function onSocketClose () {
  function onSocketError (line 46800) | function onSocketError (error) {
  class MessageEvent (line 46891) | class MessageEvent extends Event {
    method constructor (line 46894) | constructor (type, eventInitDict = {}) {
    method data (line 46905) | get data () {
    method origin (line 46911) | get origin () {
    method lastEventId (line 46917) | get lastEventId () {
    method source (line 46923) | get source () {
    method ports (line 46929) | get ports () {
    method initMessageEvent (line 46939) | initMessageEvent (
  class CloseEvent (line 46962) | class CloseEvent extends Event {
    method constructor (line 46965) | constructor (type, eventInitDict = {}) {
    method wasClean (line 46976) | get wasClean () {
    method code (line 46982) | get code () {
    method reason (line 46988) | get reason () {
  class ErrorEvent (line 46996) | class ErrorEvent extends Event {
    method constructor (line 46999) | constructor (type, eventInitDict) {
    method message (line 47010) | get message () {
    method filename (line 47016) | get filename () {
    method lineno (line 47022) | get lineno () {
    method colno (line 47028) | get colno () {
    method error (line 47034) | get error () {
  method defaultValue (line 47127) | get defaultValue () {
  class WebsocketFrameSend (line 47205) | class WebsocketFrameSend {
    method constructor (line 47209) | constructor (data) {
    method createFrame (line 47214) | createFrame (opcode) {
  class ByteParser (line 47292) | class ByteParser extends Writable {
    method constructor (line 47301) | constructor (ws) {
    method _write (line 47311) | _write (chunk, _, callback) {
    method run (line 47323) | run (callback) {
    method consume (line 47530) | consume (n) {
    method parseCloseBody (line 47567) | parseCloseBody (onlyCode, data) {
    method closingInfo (line 47610) | get closingInfo () {
  function isEstablished (line 47657) | function isEstablished (ws) {
  function isClosing (line 47667) | function isClosing (ws) {
  function isClosed (line 47677) | function isClosed (ws) {
  function fireEvent (line 47687) | function fireEvent (e, target, eventConstructor = Event, eventInitDict) {
  function websocketMessageReceived (line 47709) | function websocketMessageReceived (ws, type, data) {
  function isValidSubprotocol (line 47756) | function isValidSubprotocol (protocol) {
  function isValidStatusCode (line 47804) | function isValidStatusCode (code) {
  function failWebsocketConnection (line 47820) | function failWebsocketConnection (ws, reason) {
  class WebSocket (line 47881) | class WebSocket extends EventTarget {
    method constructor (line 47897) | constructor (url, protocols = []) {
    method close (line 48003) | close (code = undefined, reason = undefined) {
    method send (line 48106) | send (data) {
    method readyState (line 48221) | get readyState () {
    method bufferedAmount (line 48228) | get bufferedAmount () {
    method url (line 48234) | get url () {
    method extensions (line 48241) | get extensions () {
    method protocol (line 48247) | get protocol () {
    method onopen (line 48253) | get onopen () {
    method onopen (line 48259) | set onopen (fn) {
    method onerror (line 48274) | get onerror () {
    method onerror (line 48280) | set onerror (fn) {
    method onclose (line 48295) | get onclose () {
    method onclose (line 48301) | set onclose (fn) {
    method onmessage (line 48316) | get onmessage () {
    method onmessage (line 48322) | set onmessage (fn) {
    method binaryType (line 48337) | get binaryType () {
    method binaryType (line 48343) | set binaryType (type) {
    method #onConnectionEstablished (line 48356) | #onConnectionEstablished (response) {
  method defaultValue (line 48453) | get defaultValue () {
  method defaultValue (line 48460) | get defaultValue () {
  function convert (line 48507) | function convert(test) {
  function allFactory (line 48529) | function allFactory(test) {
  function anyFactory (line 48543) | function anyFactory(tests) {
  function typeFactory (line 48568) | function typeFactory(test) {
  function ok (line 48577) | function ok() {
  function color (line 48588) | function color(d) {
  function visitParents (line 48614) | function visitParents(tree, test, visitor, reverse) {
  function toResult (line 48681) | function toResult(value) {
  function visit (line 48714) | function visit(tree, test, visitor, reverse) {
  function getUserAgent (line 48741) | function getUserAgent() {
  function wrappy (line 48768) | function wrappy (fn, cb) {
  function Dicer (line 49082) | function Dicer (cfg) {
  function HeaderParser (line 49300) | function HeaderParser (cfg) {
  function PartStream (line 49401) | function PartStream (opts) {
  function SBMH (line 49448) | function SBMH (needle) {
  function Busboy (line 49663) | function Busboy (opts) {
  function Multipart (line 49772) | function Multipart (boy, cfg) {
  function skipPart (line 50035) | function skipPart (part) {
  function FileStream (line 50039) | function FileStream (opts) {
  function UrlEncoded (line 50069) | function UrlEncoded (boy, cfg) {
  function Decoder (line 50273) | function Decoder () {
  function getDecoder (line 50351) | function getDecoder (charset) {
  function decodeText (line 50448) | function decodeText (text, sourceEncoding, destEncoding) {
  function encodedReplacer (line 50595) | function encodedReplacer (match) {
  function parseParams (line 50604) | function parseParams (str) {
  function __nccwpck_require__ (line 50694) | function __nccwpck_require__(moduleId) {
  function buildSubject (line 50765) | function buildSubject ({ writeToFile, subject, author, authorUrl, owner,...
  function main (line 50803) | async function main () {

FILE: index.js
  function buildSubject (line 27) | function buildSubject ({ writeToFile, subject, author, authorUrl, owner,...
  function main (line 65) | async function main () {
Condensed preview — 14 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (1,835K chars).
[
  {
    "path": ".editorconfig",
    "chars": 187,
    "preview": "root = true\n\n[*]\ncharset = utf-8\nindent_style = space\nindent_size = 2\nend_of_line = lf\ninsert_final_newline = true\ntrim_"
  },
  {
    "path": ".eslintrc",
    "chars": 44,
    "preview": "{\n  \"root\": true,\n  \"extends\": \"standard\"\n}\n"
  },
  {
    "path": ".github/workflows/deploy.yml",
    "chars": 2417,
    "preview": "name: Deploy\n\non:\n  workflow_dispatch:\n\njobs:\n  deploy:\n    runs-on: ubuntu-latest\n\n    steps:\n      - name: Checkout Co"
  },
  {
    "path": ".gitignore",
    "chars": 1630,
    "preview": "# Logs\nlogs\n*.log\nnpm-debug.log*\nyarn-debug.log*\nyarn-error.log*\nlerna-debug.log*\n\n# Diagnostic reports (https://nodejs."
  },
  {
    "path": ".npmrc",
    "chars": 62,
    "preview": "save-exact = true\nsave-prefix = \"\"\nfund = false\naudit = false\n"
  },
  {
    "path": ".vscode/settings.json",
    "chars": 148,
    "preview": "{\n  \"yaml.schemas\": {\n    \"https://json.schemastore.org/github-workflow.json\": \"file:///x%3A/_/changelog-action/.github/"
  },
  {
    "path": "CHANGELOG.md",
    "chars": 8702,
    "preview": "# Changelog\nAll notable changes to this project will be documented in this file.\n\nThe format is based on [Keep a Changel"
  },
  {
    "path": "LICENSE",
    "chars": 1073,
    "preview": "MIT License\n\nCopyright (c) 2022-2025 requarks.io\n\nPermission is hereby granted, free of charge, to any person obtaining "
  },
  {
    "path": "README.md",
    "chars": 5495,
    "preview": "# Changelog from Conventional Commits - Github Action\n\nThis GitHub Action automatically generates a changelog based on a"
  },
  {
    "path": "action.yml",
    "chars": 1969,
    "preview": "name: 'Changelog from Conventional Commits'\ndescription: 'Generate and update the CHANGELOG from conventional commits si"
  },
  {
    "path": "dist/index.js",
    "chars": 1735653,
    "preview": "/******/ (() => { // webpackBootstrap\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ 4914:\n/***/ (function(__unused_webpa"
  },
  {
    "path": "index.js",
    "chars": 14595,
    "preview": "const github = require('@actions/github')\nconst core = require('@actions/core')\nconst _ = require('lodash')\nconst cc = r"
  },
  {
    "path": "index.test.js",
    "chars": 562,
    "preview": "const process = require('process')\n\n// shows how the runner will run a javascript action with env / stdout protocol\ntest"
  },
  {
    "path": "package.json",
    "chars": 1084,
    "preview": "{\n  \"name\": \"changelog-action\",\n  \"version\": \"1.0.0\",\n  \"description\": \"GitHub Action to generate changelog from convent"
  }
]

About this extraction

This page contains the full source code of the requarks/changelog-action GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 14 files (1.7 MB), approximately 508.7k tokens, and a symbol index with 1624 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!